我想了解在更新面板完成更新后如何运行客户端javascript给定各种约束。我的开发场景非常重要,但我想通过描述一个更简单的案例来说明问题。
我有一个包含更新面板的用户控件,其中包含一个按钮和一个表。当用户单击按钮时发生异步回发,表的行将被更改,并且更改的表将返回并在客户端上呈现。
我想运行一个脚本来对表执行一些自定义格式。让我们说现在我想斑马条纹表。 (实际要求更复杂)。
我以为我只是能够发出脚本作为用户控件输出的一部分,每当更新发生时,表标记和脚本将在客户端上处理,一切都会好的,但这种技术不起作用。
我见过其他引用ClientScriptManager的帖子,但在我的用户控件中似乎没有。我应该添加ScriptManagerProxy吗?
考虑到约束,那么最好的方法是什么。
看起来我需要
我似乎已经看到很多例子很接近但没有一个符合我的情况;我无法弄清楚如何将它们全部挂在一起。
答案 0 :(得分:1)
你必须为它编写EndRequestHandler。 这是一个非常常见的问题,Javascript,Jquery在更新面板的异步回发后停止工作。 在这个链接中,我已经解释了如何做到这一点。 http://codethatworkedforme.blogspot.com/2011/08/having-issues-with-update-panel.html
答案 1 :(得分:0)
对于每个用户控件实例的唯一更新脚本,您可以尝试此
function yourFunctionName<%= ClientID %>() {
//do something
}
您可以使用此
在服务器端的按钮客户端envent处理程序中调用客户端脚本protected void btn_click(object sende, EventArgs e) {
ScriptManager.RegisterStartupScript(this, this.GetType(),
Guid.NewGuid().ToString(),
string.Format("yourFunctionName{0}();", ClientID),
true);
}