Подтвердить что ты не робот

Должен ли я использовать Url.Content() или ResolveUrl() в своих MVC-представлениях?

При создании кода следующим образом:

<script type="text/javascript" src="<%=ResolveUrl("~/js/js.js")%>"></script>

или

<input type="image" src="<%=ResolveUrl("~/img/submit.png")%>" />

Должен ли я использовать Url.Content или ResolveUrl()? Какая разница?

4b9b3361

Ответ 1

Если вы используете перезапись URL-адреса IIS в своем приложении MVC, например. внутренне обрабатывая http://yoursubdomain.example.com/MyController/MyAction как http://hosted.example.com/yoursubdomain/MyController/MyAction, Url. Content() будет генерировать правильную ссылку на субдомен. ResolveUrl() создаст неверную ссылку в этой ситуации.

Ответ 2

Url.Content больше MVCish, так как он нормальный. ResolveUrl существует с самого начала ASP.NET.

Ответ 3

Я предпочитаю фиксировать корень сайта в локальной переменной и повторно использовать его

<% 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>

Он должен сохранить несколько мс:)