2010-03-10 3 views

ответ

28

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

14

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

+0

@Darin какой-либо причине, чтобы использовать один над другим? –

+4

В приложении MVC я бы предпочел «Url.Content». Это своего рода более универсальное тестирование. –

12

Я предпочитаю, чтобы захватить корень сайта в локальную переменную и использовать его

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

Это должно сэкономить несколько мс :)

+13

Это, вероятно, экономит меньше нескольких миллисекунд. –

+0

Я думаю, что это облегчает чтение. –

+0

Я не думаю, что это что-то спасает. Имеет смысл скомпоновать ваши JS и CSS с помощью Gulp, чем URL-адреса microromanaging. –