好的,我在UpdatePanel里面有一个带有小表格(2个字段)的灯箱,我想在按下“保存”按钮时关闭这个灯箱(必须通过javascript完成)。 / p>
但是,需要在页面上有一个服务器端的CustomValidator,如果返回有效,我只想关闭灯箱。
有没有人知道从服务器端验证器触发javascript(或jQuery)代码的方法?
答案 0 :(得分:2)
您可以使用ScriptManager
添加一小段代码,以便在响应返回UpdatePanel
后执行。
if (Page.IsValid){
ScriptManager.RegisterStartupScript(
customValidator1,
typeof(MyPageClass),
"closeBox",
"myLightBoxVariableOnThePage.close()",
true);
}
答案 1 :(得分:0)
当服务器端验证程序运行时,它会向浏览器发送全新页面。之前浏览器中显示的任何内容都是销毁,包括您的javascript中保存的任何状态。如果新页面与旧页面非常相似,那么您应该认为这是一个愉快的巧合。
因此,这里要做的不是执行javascript函数,而是让CustomValidator在成功时对页面进行正确的更改,以便首先正确地呈现给浏览器。