プロジェクトで のような相対 URL を使用しまし<img src="../images/portal_header.jpg" .../>
たが、コンサルタントはすべての URL を に変更するように要求し~/images/...
、それらは html コントロールであるため、runat="server"
それぞれにタグを追加する必要があります。いくつかのマスター ページがあり、すべての js リンクと css リンクに到達できません。ありがとう
3 に答える
コントロールは任意のサブフォルダーに配置でき、さまざまなサブフォルダー内のさまざまなページから参照できます。 ../
すべての場合に機能するとは限りません。
そのため、URL を解決する必要があります。
ResolveUrl("~/images/myimage.jpg")
いいえ、追加する必要はありません。次のrunat="server"
ようにできます。
<img src="<% =ResolveUrl("~/images/portal_header.jpg") %>" .../>
どの ASP バージョンで作業しているかわかりませんが、@Url.Content("~/relativepath")
MVC3 w/Razor を使用して ASP4に使用しています
また<img src="@Url.Content("~/relativepath")" alt="" />
それは文脈に大きく依存します。依存リソースの場所が変更されることが予想されない限り、相対 URL の使用は正常に機能します。すべてのイメージ タグをコントロールに変換すると、"~" (アプリ ルート) を使用する利点が得られますが、サーバーでの処理にオーバーヘッドが追加されます。
コンサルタントは、一般的な問題からあなたを守ろうとしている可能性があります。すべての相対リンクは、開発中 (「http://localhost/site」) では正常に機能しますが、実稼働 (「http://www.yourdomain.com/somelocation/」) に移行すると壊れます。