Javascript на главной странице ASP.NET не работает на странице содержимого в подкаталоге

0

У меня есть некоторые события jQuery на главной странице, которая должна запускаться на всех страницах контента. Если страница содержимого находится в том же каталоге, что и главная страница, она работает нормально. Однако, если страница содержимого находится в подкаталоге, страница загружается отлично, но jQuery не запускается.

JQuery не так много и находится только между тегами <script></script>. Если возможно, я хотел бы сохранить его таким образом, а не использовать ASP ScriptManager.

  • 1
    Предоставляет ли ваше окно консоли какую-либо информацию и / или сообщения об ошибках?

1 ответ

1
Лучший ответ

Вероятно, ваш сценарий в порядке, но ваши ссылки jQuery перепутаны из-за неправильных относительных путей. Вы должны быть в состоянии проверить с помощью инструментов отладки браузера, вы увидите, где не удалось загрузить jQuery.

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

Используя вышеизложенное, мы получаем правильный относительный путь сайта со стороны сервера. Тогда ссылка на jQuery должна быть правильной независимо от того, в какой папке вы находитесь.

Когда основные страницы объединены с страницами содержимого, пути к сценариям не обновляются, если вы жестко задаете путь к сценарию. Поэтому, если вы находитесь в той же папке, что и ваша главная страница, путь к вашим скриптам правильный. Но если вы находитесь на другом уровне структуры папок, путь становится неправильным. Вот почему мы используем ResolveUrl() со стороны сервера, и он может дать нам правильный путь на стороне клиента, независимо от того, в какой папке мы находимся.

  • 0
    Да, так и было. У меня было: src="script/Jquery.js" . В чем разница между вашим решением и выполнением src="/script/Jquery.js" , так как оба, похоже, работают.
  • 0
    Почему вы говорите, что оба работают? Если они оба работают, тогда о чем этот вопрос?
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню