Можем ли мы использовать $ (document) .ready () на странице asp.net? - PullRequest
1 голос
/ 23 мая 2011

enter image description here

У меня ошибка при попытке использовать $ (document) .ready (), как на изображении выше.Что я должен попытаться решить эту проблему?


Редактировать 23.05.2011 10: 54

У меня есть подсказка.Страница, на которой я работаю, наследует от мастер-страницы

На главной странице этот код не работает, возможно, проблема с другим путем

<head id="Head1" runat="server">
<title>Back Office</title>
<link href="~/Styles/MasterPage.css" rel="stylesheet" type="text/css" />
<link href="Styles/custom-theme/jquery-ui-1.8.12.custom.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="scripts/jquery-1.5.1.min.js"></script>
<asp:ContentPlaceHolder ID="HeadContent" runat="server">
</asp:ContentPlaceHolder>
</head>

Этот код не работает

В теле главной страницы есть менеджер скриптов, и есть jquery. Это делает jQuery работающим, потому что мы используем скрипт менеджера в теле, так что document.ready не работает?

            <asp:ScriptManager ID="ScriptManager1" runat="server" OnAsyncPostBackError="ScriptManager1_AsyncPostBackError">
                <Scripts>
                    <asp:ScriptReference Path="~/Scripts/jquery-1.5.1.min.js" />
                </Scripts>
            </asp:ScriptManager>
            <asp:ContentPlaceHolder ID="MainContent" runat="server">
            </asp:ContentPlaceHolder>

Я нашел проблемы.

Проблема в том, что код jquery находится на главной странице в диспетчере сценариев, а менеджер сценариев находится внутри тега body.

document.readyнаходится в теге заголовка на странице, которая наследуется на главной странице, поэтому перед кодом для исключения в тело jquery еще не включен и что это ошибка.

Самый простой способ решить это,Я должен переместить код JavaScript в нижней части тега тела.Правильный способ решить, который я до сих пор не могу найти, - это включить код Javascript в заголовок.но я пока не нахожу такой способ работы.Моя главная страница и страница наследования находятся на другом пути.Я нашел много техники, например, но ни одна из них не работает.

Ответы [ 2 ]

3 голосов
/ 23 мая 2011

Удалите все остальные javascript-файлы, кроме jquery-1.5.1.min.js. Попробуйте это только с одним включением. Если это работает, добавляйте другие по одному обратно, пока не получите ошибку. Если он не работает только с включенным скриптом jQuery, скорее всего, он не указывает на правильный путь.

Короткий ответ, хотя, да, вы можете использовать jQuery и document.ready на странице ASP.NET.

1 голос
/ 23 мая 2011

Конечно, вы можете.Кажется, однако, что объект jQuery недоступен в момент выполнения скрипта.Убедитесь, что файл библиотеки jquery действительно загружен через директиву script.А может быть, за этим стоит ряд других нюансов.

...