2009-06-22 4 views
5

Я пытаюсь использовать библиотеку jquery в ASP.NET в подпапке под названием «samples» с главной страницей, расположенной в корневом каталоге. В настоящее время ссылки на сценарии jquery расположены в главном теге главной страницы. Если страница, которую я создаю, также находится в корневом каталоге, все работает нормально. Если я переместил страницу в поддиректорию «samples», jquery разрывается.Использование JQuery в подпапке Когда MasterPage находится в корневой папке

я могу решить эту проблему, используя что-то вроде следующего в голове тега:

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

... но потом я потерял способность использовать JQuery IntelliSense, потому что я больше не непосредственно подключен к файлу во время разработки.

Итак, мой вопрос заключается в следующем: как я могу использовать библиотеку jquery на странице .aspx, не теряя связи с intellisense, когда моя страница находится в подпапке, а главная страница находится в корне?

ответ

10

просто используйте:

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

положить /перед темJS сделать трюк. Я всегда держу свои файлы css и javascript в отдельных папках и использую эту настройку, чтобы правильно включить их.

для IntelliSense вы можете попробовать этот трюк:

<%if(true){%> 
    <script src="/js/jquery.js" type="text/javascript"></script> 
<%}%> 

Я не могу вспомнить источник этой уловке.

+0

Я делаю то же самое, JavaScript и папку Css непосредственно из корня, а затем использовать сервер относительный URI, чтобы указать на мой CSS/JS-файлы. – Colin

+0

Я проверил, что/before js действительно позволяет коду работать в обеих папках (так что это лучшее решение, чем ResolveUrl), но он все равно не позволит мне видеть intellisense. Тройка intellisense, которую вы указали, также не работает. – shizbiz

+0

Я забираю его обратно. Когда я добавляю с последующим <%if(true){%> <скрипт SRC = "/ JS/jquery.js" Тип = "текст/JavaScript" > <%}%> Затем он работает как в корне, так и в подпапке, а intellisense работает в обоих местах. Достаточно хорошо. Спасибо. – shizbiz

1

Вы можете использовать менеджер сценария включить файлы JS:

<asp:ScriptManager runat="server"> 
    <Scripts> 
     <asp:ScriptReference Path="~/js/jquery.js" /> 
    </Scripts> 
</asp:ScriptManager> 
+0

Это работает для обеих папок, но не связывает меня с intellisense , – shizbiz

+0

Очень полезный трюк, я видел его в другом месте, но не смог его найти. +1 –

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