корневой оператор веб-приложения и теги сценария - PullRequest
2 голосов
/ 26 августа 2010

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

Мое приложение использует вложенные главные страницы для разных подкаталогов;Страница содержимого использует свою основную для каталога главную страницу, которая использует корневую главную страницу.Я хотел бы иметь возможность включать мои <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>

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

1 Ответ

2 голосов
/ 27 августа 2010

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

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

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

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

чтобы ты не заставлял его начинать с самого начала.

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

4) и вы можете просто отобразить src на странице

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

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

...