【问题标题】:ASP.Net & jQuery - closing a popupASP.Net & jQuery - 关闭弹出窗口
【发布时间】:2009-09-28 15:20:17
【问题描述】:

我想在用户单击按钮时关闭 ShadowBox 弹出窗口。弹出窗口在 iframe 中显示一个单独的页面。 这适用于取消按钮控件上的客户端事件,例如

OnClientClick="javascript:parent.Shadowbox.close();"

但是,Ok 按钮有一个服务器端事件,因为需要保存数据。当我从上面定义 OnClick 和 OnClientClick 处理程序时,IFrame 将关闭并且服务器端事件处理程序永远不会触发。

我尝试从标记中删除 OnClientClick 事件处理程序并使用 ClientScriptManager 来完成此操作,如

Page.ClientScript.RegisterStartupScript(this.GetType(),
  "Close", "parent.Shadowbox.close();", true);

显然,因为按钮位于 UpdatePanel 中,所以脚本没有被注册,也没有出现在响应流中。 IPanel 保持打开状态。

我该怎么做?

【问题讨论】:

  • 你是怎么解决这个问题的??你能通过代码吗?

标签: c# asp.net shadowbox clientscriptmanager


【解决方案1】:

当您使用 MS AJAX 控件时,您需要将脚本注册到 ScriptManager,而不是 ClientScript

【讨论】:

  • 你的意思是这样的:ScriptManager.RegisterStartupScript(this, this.GetType(), "CloseScript", "window.close();", true);没有区别。
  • 嗯。我现在对为什么您的原始设置阻止回发感兴趣。如果您的 javascript 没有返回 false,则 OnClientClick 不应阻止回发....
  • 我写了一个新方法,显式返回true,仍然没有回发。
  • 使用 Scriptmanager 注入脚本正在工作。不知道发生了什么。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多