2010-08-26 2 views
2

Есть ли способ использовать «корневой веб-приложение ASP.NET» ~ в теге скрипта? Если нет, есть ли способ имитировать такое поведение?теги корневого веб-приложения и теги скриптов

Мое приложение использует вложенные мастер-страницы для разных подкаталогов; На странице содержимого используется его главная страница каталога, в которой используется основная страница root. Я хотел бы иметь возможность добавлять теги <script> в основную главную страницу, поэтому я не повторяю код повсюду, но так как я не обязательно знаю глубину пути для любой страницы контента, я не может надежно предоставить пути к папке сценариев.

Я рассмотрел использование путей в форме /scripts/jquery.js, но так как сервер разработки Visual Studio запускает приложение в подкаталоге корневого сервера, это не будет хорошо переводиться на живой сервер. Для иллюстрации:

<!-- dev server path --> 
<script type="text/javascript" src="/my_project/scripts/jquery.js"></script> 

<!-- live server path --> 
<script type="text/javascript" src="/scripts/jquery.js"></script> 

Вы можете, конечно, увидеть проблему. Поскольку я не единственный разработчик проекта, у меня очень мало контроля над тем, что происходит в процессе «go live»; в противном случае это может быть просто вопрос удаления /my_project в режиме «go live».

ответ

2

Есть несколько возможных случаев.

1) Для большого проекта используйте локальный iis5.1 или другой локальный iis, а не веб-сайт VS.

2) Вы можете избежать первого spash и использовать относительные пути ... например:

<script type="text/javascript" src="scripts/jquery.js"></script> 
<script type="text/javascript" src="../scripts/jquery.js"></script> 

так что вы не заставляйте его, чтобы начать с beggining.

3) Вы можете в буквальном смысле управления там и только делают тег сценария на Page_Load с правильного пути каждый раз, когда

4), и вы можете просто вынести СРК на странице

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

I я использую 1 и 3.

+0

Вау, это много вариантов! Благодаря! Сейчас я оседаю на четвертом номере ... кажется, проще всего реализовать. –