При построении кода вот так:
<script type="text/javascript" src="<%=ResolveUrl("~/js/js.js")%>"></script>
или
<input type="image" src="<%=ResolveUrl("~/img/submit.png")%>" />
Должен ли я использовать Url.Content или ResolveUrl()? Какая разница?
Url.Content
ResolveUrl()
Если вы используете перезапись URL IIS в приложении MVC, например, внутренняя обработка http://yoursubdomain.example.com/MyController/MyAction как http://hosted.example.com/yoursubdomain/MyController/MyAction, Url.Content () сгенерирует правильную ссылку на субдомен. ResolveUrl () сгенерирует неверную ссылку в этой ситуации.
Url.Content больше MVCish, как это обычно. 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>
Это должно сэкономить несколько мс:)