C# 无法关闭从母版页创建的Ajax ModalPopupXtender模式窗口

C# 无法关闭从母版页创建的Ajax ModalPopupXtender模式窗口,c#,javascript,jquery,asp.net,ajax,C#,Javascript,Jquery,Asp.net,Ajax,我有一个网站项目,其母版页具有标准默认Microsoft主题,该主题是在启动新项目时创建的。 function HideModalPopup() { $find("ModalSearch").hide(); return false; } </script> 我创建了一个搜索页面,我想从这个菜单调用它,并将新的锚定标记放在这个标准菜单中。点击搜索链接将弹出一个模式,并在其中显示my search.aspx页

我有一个网站项目,其母版页具有标准默认Microsoft主题,该主题是在启动新项目时创建的。
      function HideModalPopup() {
            $find("ModalSearch").hide();
            return false;
        } </script>
我创建了一个搜索页面,我想从这个菜单调用它,并将新的锚定标记放在这个标准菜单中。点击搜索链接将弹出一个模式,并在其中显示my search.aspx页面

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



function Search() {
     document.getElementById('<%= hdnButtonSearch.ClientID%>').click();
}
      function HideModalPopup() {
            $find("ModalSearch").hide();
            return false;
        } </script>
  • 函数搜索(){ document.getElementById(“”)。单击(); }

          function HideModalPopup() {
                $find("ModalSearch").hide();
                return false;
            } </script>
    
    这是一个模式,源是一个网络表单搜索。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>
    
          function HideModalPopup() {
                $find("ModalSearch").hide();
                return false;
            } </script>
    
    
    
    只要单击菜单中的搜索链接,我就可以从任何webforms上调用此模式窗口

          function HideModalPopup() {
                $find("ModalSearch").hide();
                return false;
            } </script>
    
    现在解决问题。
          function HideModalPopup() {
                $find("ModalSearch").hide();
                return false;
            } </script>
    
    我调用并打开模式扩展器,它会打开search.aspx网络表单。 在这个网络表单上,我想放置一个按钮来关闭模式。 在这种情况下,我不想使用ModalPopupXtender中的标准按钮Button2,我想使用实际位于Search.aspx页面上的按钮**

          function HideModalPopup() {
                $find("ModalSearch").hide();
                return false;
            } </script>
    
    真正发生的情况是用户搜索一个客户机,客户机进入网格,然后客户机想要查看该客户机,因此他们单击网格中加载客户机的链接按钮,然后我希望模式关闭

          function HideModalPopup() {
                $find("ModalSearch").hide();
                return false;
            } </script>
    
    如何在search.aspx页面中关闭此模式

          function HideModalPopup() {
                $find("ModalSearch").hide();
                return false;
            } </script>
    
    搜索页面没有MasterPageFile,它只是在modal中弹出的Web表单

          function HideModalPopup() {
                $find("ModalSearch").hide();
                return false;
            } </script>
    
    在搜索页面中,我有一个按钮。这将调用Javascript函数来关闭模式,但它不起作用,我收到一个错误

          function HideModalPopup() {
                $find("ModalSearch").hide();
                return false;
            } </script>
    
    Microsoft JScript运行时错误:应为对象

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

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

          function HideModalPopup() {
                $find("ModalSearch").hide();
                return false;
            } </script>
    
    函数hideModelPopup(){
    $find(“ModalSearch”).hide();
    返回false;
    } 
    

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

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

    无论您已经准备好了什么JavaScript函数来关闭模式,请从您的search.aspx页面的相关客户端控件调用该函数。

    我已经将其放入按钮单击事件中,但它在search.aspx页面不起作用。我几乎什么都试过了,不知道该怎么办。函数hideModelPopup(){$find(“ModalSearch”).hide();return false;}你是对的,我确实有权访问父函数。我在search.aspx页面上更改了javascript,以引用客户端,它成功了。函数hideModelPopup(){parent.$find(“ModalSearch”).hide();return false;}很高兴您对它进行了排序。我将它放入搜索页面上的javascript函数中,它工作了。函数hideModelPopup(){parent.$find(“ModalSearch”).hide();返回false;}
          function HideModalPopup() {
                $find("ModalSearch").hide();
                return false;
            } </script>