Ссылки на скрипты и стили в asp.net mvc - PullRequest
4 голосов
/ 11 мая 2010

Я пытаюсь включить ссылки на скрипты и стили, которые не будут нарушаться при развертывании, однако я даже не могу заставить ссылки работать локально. Я пытался использовать Url.Content() и MVCContrib's <%=Html.ScriptInclude("")%>.

Мои скрипты находятся в папке Scripts в корне сайта; мои стили в обычном Content / css / folder.

Сценарии отображаются так:

<script type="text/javascript" src="/Scripts/MicrosoftAjax.debug.js" ></script>

Это не будет работать на странице просмотра в папке Views. Что я делаю не так и как лучше всего с этим справиться?

Я бы подумал, Url.Content() будет по крайней мере работать со стилями, но используется на моей главной странице, ссылка отображается

<link href="/Content/css/Site.css rel="stylesheet" type="text/css" /> 

Это не работает, потому что мастер-страница находится в общей папке, так что же на самом деле дальше с этим?

Ответы [ 2 ]

5 голосов
/ 12 мая 2010

<link href="<%= ResolveUrl("~/Content/css/Site.css")%>" rel="stylesheet" type="text/css" />

работает для вашей таблицы стилей. но если вы используете MVC2 и у вас есть файлы в директории скрипта, вы можете использовать новый помощник:

<%=Html.Script("scriptfile.js") %>

это лучшая практика, так как вы также можете указать файл для режима выпуска и отладки:

<%=Html.Script("scriptfile-min.js", "scriptfile.js") %>
0 голосов
/ 12 мая 2010

Я делаю это так:

<link href="<%= ResolveUrl("~/Content/css/Site.css")%>" rel="stylesheet" type="text/css" />

Кроме того, выньте сервер runat = из вашего тега head, если вы не хотите, чтобы он делал вам одолжения.

(Правка - исправлена ​​неуместная цитата)

Обновление: Чтобы уточнить, на самом деле у меня это работает в разработке (localhost: 1227, root), на моем тестовом сервере (полный домен, root) и в работе (другой домен, в подкаталог). Отлично работает в любом случае!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...