繁体   English   中英

我们可以在asp.net页面中使用$(document).ready()吗?

[英]Can we use $(document).ready() in asp.net page?

在此输入图像描述

我在尝试使用$(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工作,是因为我们在body中使用scriptmanager使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代码在masterpage页面上,在脚本管理器中,而脚本管理器在body标签内。

document.ready位于页面上继承在母版页上的标题标记上,因此在将代码排除到正文之前,还没有包含jquery,并且它是错误的。

解决这个问题最简单的方法是,我必须在body标签的底部移动javascript代码。 正确的解决方法,我仍然无法找到将javascript包含在头文件中的代码。 但我找不到一种方法可行。 我的母版页和继承页面位于不同的路径上。 我找到了很多技术,但没有一个能奏效。

取出除jquery-1.5.1.min.js之外的所有其他javascript包含。 尝试只使用那个包含。 如果可行,请将其他包含一次添加回一个,直到出现错误。 如果它不适用于仅包含的jQuery脚本,则可能不是指向正确的路径。

简而言之,是的,您可以在ASP.NET页面中使用jQuery和document.ready。

你当然可以。 似乎jQuery对象在脚本执行时不可用。 验证是否确实通过脚本指令加载了jquery库文件。 或许这背后还有其他一些细微差别。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM