2010-05-11 2 views
4

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

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

скрипты делают так:

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

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

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

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

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

+0

Да, странно ... Я думал, что использовал Url.Content, и это сработало для меня; на минимальном уровне вы всегда можете использовать ../../, потому что все ваши представления всегда находятся в одной папке глубоко в корневой папке представлений (если вы не настроили этот процесс). –

+0

Действительно, если бы он был развернут как виртуальный каталог, а не веб-сайт, это не испортило бы пути? должен быть какой-то способ управления этим. Я тоже удивлен, что Url.Content не работает, ну, хорошо! – tom

ответ

5

<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

+1 - Не знал об этом! – Chris

0

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

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

Кроме того, возьмите RUNAT = сервер из вашей головы тега, если вы не хотите, чтобы это пытается сделать вам благоволит.

(Edit - пофиксить неуместны цитата)

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

Смежные вопросы