我的页面上有几个输入和选项元素,每个(几乎)都有一个事件附加到页面上的一些文本,一旦它们发生变化。我使用 jQuery,它真的很酷 :)
我也用微软Ajax框架,利用 UpdatePanel。我这样做的原因是某些元素是根据某些服务器端逻辑在页面上创建的。我真的不想解释为什么我使用 UpdatePanel - 即使它可以(它可以通过相当大的努力)被重写为仅使用 jQuery我仍然想要那个 UpdatePanel。
您可能猜到了 - 一旦我在 UpdatePanel 上有回发,jQuery 事件就会停止工作。我实际上是在期待这一点,因为“回发”并不是真正的新回发,所以我在 document.ready 中绑定(bind)事件的代码不会再次被触发。我还通过阅读 jQuery 帮助库中的内容证实了我的怀疑。
无论如何,在 UpdatePanel 完成更新 DOM 后,我仍然面临重新绑定(bind)控件的问题。 .我最好需要一个不需要向页面添加更多 .js 文件(jQuery 插件)的解决方案,而是像能够捕获 UpdatePanel 的“afterupdating”一样简单,我可以在其中调用我的方法来重新绑定(bind)所有表单元素.
最佳答案
由于您使用的是 ASP.NET AJAX,因此您可以访问 pageLoad
事件处理程序,每次页面回发时都会调用该事件处理程序,无论是完整的还是部分的 UpdatePanel。您只需将功能放入您的页面,无需连接。
function pageLoad(sender, args)
{
if (args.get_isPartialLoad())
{
//Specific code for partial postbacks can go in here.
}
}
关于asp.net - Ajax 更新后在 jQuery 中重新绑定(bind)事件 (updatepanel),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/301473/