0

アプリのすべてのビューで共有されるレイアウトページがあります。そのビューは、私のアプリの.cssを参照しています。参考までに、現在、_layout.cshtmlファイルの先頭に次のものがあります。

<link rel="stylesheet" href="/css/themes/default/app.css" />

このアプリを使用して、PhoneGapを介して電話アプリにロードすることを計画しています。そのため、/ css / themes/default.app.cssを使用できません。代わりに、ファイルのパスに相対的な文字列に変換する必要があります。たとえば、次のような値を動的に生成する必要があります。

<link rel="stylesheet" href="../../../css/themes/default/app.css" />

「../」の数は、その深さに基づいて決定されます。これを行うために、ASP.NETMVC3フレームワークにユーティリティまたは何かが組み込まれていると思いました。しかし、何も見つかりません。たくさんのファイルがあり、すべてのURLパターンを手動で更新する必要はありません。私が達成しようとしていることを自動的に処理するユーティリティはありますか?もしそうなら、どのように?

ありがとうございました

4

1 に答える 1

1

UrlHelper.Content HTML ヘルパー メソッドを使用します。

このメソッドは、仮想 (相対) パスをアプリケーションの絶対パスに変換します。

<link href="@Url.Content("~/css/themes/default/app.css")" 
                                       rel="stylesheet" type="text/css" />     

MVC プロジェクトのルートにcssあるディレクトリの下にフォルダーをドロップできます。Content

于 2012-07-20T18:24:55.427 に答える