服务器端验证完成后运行javascript函数

时间:2010-03-26 17:16:58

标签: c# asp.net javascript jquery

好的,我在UpdatePanel里面有一个带有小表格(2个字段)的灯箱,我想在按下“保存”按钮时关闭这个灯箱(必须通过javascript完成)。 / p>

但是,需要在页面上有一个服务器端的CustomValidator,如果返回有效,我只想关闭灯箱。

有没有人知道从服务器端验证器触发javascript(或jQuery)代码的方法?

2 个答案:

答案 0 :(得分:2)

您可以使用ScriptManager添加一小段代码,以便在响应返回UpdatePanel后执行。

if (Page.IsValid){

   ScriptManager.RegisterStartupScript(
            customValidator1, 
            typeof(MyPageClass), 
            "closeBox",
            "myLightBoxVariableOnThePage.close()",
            true);
}

答案 1 :(得分:0)

当服务器端验证程序运行时,它会向浏览器发送全新页面。之前浏览器中显示的任何内容都是销毁,包括您的javascript中保存的任何状态。如果新页面与旧页面非常相似,那么您应该认为这是一个愉快的巧合。

因此,这里要做的不是执行javascript函数,而是让CustomValidator在成功时对页面进行正确的更改,以便首先正确地呈现给浏览器。