1

現在、私のアプリケーションは次のようなサブサイトとしてホストされているため、ベース パスを取得する必要があります。

www.example.com/site1/site2/

IIS アプリケーションは site2 にセットアップされていますが、カミソリ ページとマスター ページは次のようなものを参照しています。

 <link href="/Assets/css/styles.css" rel="stylesheet">

この場合、次のようになります。

 <link href="/site1/site2/Assets/css/styles.css" rel="stylesheet">

次のような画像もあります。

 <img src="/Assets/images/logo.jpg" />

サブディレクトリをどこかにハードコードする必要がないように、これを動的に機能させるにはどうすればよいですか?

4

1 に答える 1

5

組み込みのヘルパーを使用して、コンテンツへの相対パスを取得する必要があります。

 <link href="@Url.Content("~/Assets/css/styles.css")" rel="stylesheet">

でホストされているサイトwww.domain.com/site/subdirectoryの場合、上記は にレンダリングされます

<link href="/site/subdirectory/Assets/css/styles.css" rel="stylesheet">

また、サイトを移動したり、ルート パスを変更したりした場合でも、マークアップ コードを変更する必要はありません。

その他の例:

画像

<img src="@Url.Content("~/Assets/images/logo.jpg")" />

Javascript

<script type="text/javascript" src="@Url.Content("~/Assets/Scripts/jsfile.js")"></script>
于 2013-04-18T18:53:31.737 に答える