ASP.Net&jQuery - 关闭弹出框
我想在用户单击按钮时关闭ShadowBox弹出框。弹出窗口在Iframe中显示单独的页面。 这适用于取消按钮控件上的客户端事件,例如,ASP.Net&jQuery - 关闭弹出框
OnClientClick="javascript:parent.Shadowbox.close();"
然而,确定按钮有一个服务器端事件,因为数据需要保存。当我从上面定义OnClick和OnClientClick处理程序时,IFrame将关闭,并且服务器端事件处理程序不会触发。
我试图从标记删除的OnClientClick事件处理程序,并使用ClientScriptManager做到这一点,因为在
Page.ClientScript.RegisterStartupScript(this.GetType(),
"Close", "parent.Shadowbox.close();", true);
显然是因为这些按钮是一个UpdatePanel,剧本没有得到登记,它不会出现在Reponse流中。 IPanel保持打开状态。
我该怎么做?
当您使用MS AJAX控件时,您需要使用ScriptManager
而不是ClientScript
注册脚本。
您的意思是这样的: ScriptManager.RegisterStartupScript(this,this.GetType(), “CloseScript”,“window.close();”,true); 没有区别。 – cdonner 2009-09-28 15:54:20
嗯。我现在很感兴趣,为什么你的原始设置阻止了回发。 OnClientClick不应该阻止回发,如果你的JavaScript没有返回false .... – womp 2009-09-28 16:20:16
我写了一个新的方法,显式返回true,仍然没有回传。 – cdonner 2009-09-28 17:02:02
你是怎么解决这个问题的?你可以通过代码吗? – helpme 2012-11-09 21:39:43