【问题标题】:Cannot close Ajax ModalPopupExtender Modal window which is created from a master page无法关闭从母版页创建的 Ajax ModalPopupExtender 模态窗口
【发布时间】:2014-09-16 07:38:09
【问题描述】:

我有一个网站项目,其母版页带有标准默认 Microsoft 主题,该主题是在启动新项目时创建的。
我创建了一个我想从这个菜单调用的搜索页面,并将新的锚标记放在这个标准菜单中。单击搜索链接将拉出一个模式并在其中引入我的 search.aspx 页面。

<li><a  href="#" onclick="Search(this)">Search</a></li>



function Search() {
     document.getElementById('<%= hdnButtonSearch.ClientID%>').click();
}

这是模式源是网络表单 Search.aspx

<asp:ModalPopupExtender ID="ModalSearch" runat="server" PopupControlID="Panl1" TargetControlID="hdnButtonSearch"
     CancelControlID="Button2" BackgroundCssClass="modalBackground" ></asp:ModalPopupExtender>
     <asp:Panel ID="Panl1" runat="server" CssClass="Popup" align="center" style = "display:none">
     <iframe style=" width: 800px; height: 600px;" id="irm1" src="Search.aspx" runat="server"></iframe>
   <br/>
    <asp:Button ID="Button2" runat="server" Text="Close" />


</asp:Panel>

只需单击菜单中的“搜索”链接,我就可以在任何网络表单上调用此模式窗口。

现在是问题。
我调用并打开模态扩展程序,它会打开 search.aspx 网络表单。 在这个网络表单上,我想放置一个按钮来关闭模式。 在这种情况下,我不想使用标准按钮 ModalPopupExtender 中的 Button2 我想使用实际位于 Search.aspx 页面上的按钮。**

真正会发生的是用户搜索客户端进入网格,然后客户端想要查看该客户端,因此他们单击加载客户端的网格中的链接按钮,然后我希望模式关闭.

如何在 search.aspx 页面中关闭此模式?

搜索页面没有 MasterPageFile,它只是一个在模式中弹出的网络表单。

在搜索页面我有一个按钮。这会调用 Javascript 函数来关闭模式,但它不起作用我得到一个错误。

Microsoft JScript 运行时错误:需要对象

      function HideModalPopup() {
            $find("ModalSearch").hide();
            return false;
        } </script>

【问题讨论】:

  • 我把它放到我的 javascript 函数中的搜索页面,它工作。函数 HideModalPopup() { parent.$find("ModalSearch").hide();返回假; }

标签: c# javascript jquery asp.net ajax


【解决方案1】:

您的 search.aspx 页面正在呈现到模式中,但实际上是同一页面的一部分。这不是 iframe,因此您可以假设它具有对 DOM 和所有可用脚本的完全访问权限。

无论您已经使用什么 JavaScript 函数来关闭模式,都可以从 search.aspx 页面的相关客户端控件中调用它。

【讨论】:

  • 我确实把它放在了按钮单击事件中,但它在 search.aspx 页面上不起作用。我几乎尝试了一切,所以不知道该怎么做。函数 HideModalPopup() { $find("ModalSearch").hide();返回假;}
  • 你说得对,我确实可以访问父母。我在 search.aspx 页面上更改了我的 javascript 以引用客户端并且它有效。函数 HideModalPopup() { parent.$find("ModalSearch").hide();返回假; }
  • 很高兴你把它整理好了。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-10-09
  • 1970-01-01
  • 2011-02-05
  • 1970-01-01
  • 2016-04-03
  • 1970-01-01
相关资源
最近更新 更多