このようなコードを作成する場合:
_<script type="text/javascript" src="<%=ResolveUrl("~/js/js.js")%>"></script>
_
または
_<input type="image" src="<%=ResolveUrl("~/img/submit.png")%>" />
_
_Url.Content
_またはResolveUrl()
を使用する必要がありますか?違いは何ですか?
IIS MVCアプリケーション内でURL書き換えを使用している場合、たとえば内部的に http://yoursubdomain.example.com/MyController/MyAction を http://hosted.example.com/yoursubdomain/MyController/MyAction 、Url.Content()は正しいサブドメイン相対リンクを生成します。ResolveUrl()はこの状況で誤ったリンクを生成します。
Url.Content
は通常のように、よりMVCっぽいです。 ResolveUrl ASP.NETの開始以来存在しています。
サイトルートをローカル変数にキャプチャして再利用することを好みます
<% var siteroot = Url.Content("~/") %>
<script type="text/javascript" src="<%: siteroot %>Script/jquery-1.4.1.js"></script>
<script type="text/javascript" src="<%: siteroot %>Script/jquery.validate.js"></script>
数ミリ秒節約できるはずです:)