ASP.Net& JQuery Document.ready:没有解雇

时间:2012-08-28 15:39:38

标签: jquery asp.net

所以我有一个母版页,在Page_Load事件中手动包含一些javascript,如下所示:

Page.ClientScript.RegisterClientScriptInclude("site.master", ResolveUrl("~/Scripts/site.master.js"));

我在脚本的开头放置了$(document).ready(),期望它在包含它时能够正确绑定,它就是这样做的。

问题是它不会在回发时触发$(document).ready()(不涉及AJAX)。我使用的解决方案是将其包装到init函数中,然后通过母版页.aspx文件调用所述init函数。它有效,并不是那么脏,但我很困惑。

我理解浏览器会缓存该文件,但我希望它仍能在每个请求上执行,但它似乎并没有这样做。

有人可以解释为什么,或者如果我没有看到我认为我所看到的内容,也可以解释一下吗?

我在Chrome浏览器上看到了这种行为。

2 个答案:

答案 0 :(得分:0)

在您的母版页中,您是否在包含自己的JavaScript文件之前包含了JQuery?

这种情况通常发生在JQuery在此过程中加载太晚的时候。

答案 1 :(得分:0)

您在哪里注册以下这些内容?

Page.ClientScript.RegisterClientScriptInclude("site.master", ResolveUrl("~/Scripts/site.master.js"));

您是否仅在当前请求不是回复后才有条件地注册?那太傻了。每次需要提供整页时都需要注册。