我创建了一个自定义服务器端 WebControl。该控件调用一个初始化脚本,该脚本使用 jQuery 在页面加载时通过调用绑定(bind)来连接事件。
此控件现在在 UpdatePanel 内部使用,显然在 UpdatePanel 执行此操作后客户端事件不再存在。因此,如果控件已作为部分页面刷新的一部分重新呈现,我需要重新运行初始化脚本,并且我没有看到执行此操作的好方法。
我知道 ScriptManager.IsInAsyncPostBack 和 UpdatePanel.IsInPartialRendering,但它们似乎没有提供我需要的东西。似乎正确地实现了这一点,我必须检查 ScriptManager.IsInAsyncPostBack==true 是否,然后在控制树中搜索具有 IsInPartialRendering==true 的 UpdatePanel。如果我找到这样的 UpdatePanel,那么我会重新运行我的初始化脚本。
听起来很可怕。我错过了一些简单的事情吗?我不可能是唯一一个这样生活的人。
感谢您的阅读!
最佳答案
您是否尝试过使用下面SO帖子中描述的方法? jQuery $(document).ready and UpdatePanels?
这就是我在更新面板中使用 jQuery 时所做的事情,它总是对我有用。
关于asp.net - 使用需要在 UpdatePanel 内工作的 jQuery 的自定义 WebControl,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2899614/