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

Почему я должен использовать @Url.Content( "~/blah-blah-blah" )?

Я не могу понять преимущества, которые я могу получить от Url.Content() в ASP.NET MVC. Например, вы видите src='@Url.Content("~/Contents/Scripts/jQuery.js")'. Почему я должен использовать его? Какие могут быть причины для его использования? Какие преимущества, преимущества и т.д. Используют простые простые простые ссылки, например src='/scripts/jquery.js?

Обновление:. На основе ответов мне хотелось бы узнать, есть ли другая причина для его использования, кроме обработки виртуальных папок? Потому что я не видел много таких приложений в виртуальных приложениях (что, конечно же, не означает, что он так сильно не использовался).

4b9b3361

Ответ 1

Отображение виртуальных путей - это только цель. Если вам когда-либо не понадобится сопоставлять их и убедитесь, что ваше приложение или его папки не будут сидеть под другими приложениями, это не будет служить вам никакой цели.

Из примечания к документам, если вы не используете ~, вы не получаете никаких изменений в результате: "Замечания Если указанный путь содержимого не начинается с символа тильды (~), этот метод возвращает contentPath без изменений. "

Ответ 2

Обычно ваше веб-приложение публикуется как: www.yoursite.com/. Символ ~ соответствует корню сайта /.

Однако, если вы публикуете свой сайт с виртуальным каталогом www.yoursite.com/mywebapp/, символ ~ будет соответствовать "/mywebapp/". Жестко-кодирующие URL-адреса с символом "/" могут вызывать неправильные ссылки на страницы.

Ответ 3

Полезно, если корневой путь вашего приложения не является корневым путем вашего сервера. Url.Content( "~/" ) возвращает корневую папку вашего приложения.