zoukankan      html  css  js  c++  java
  • asp.net弹出多个模态窗口

    asp.net中无限制弹出模态窗口

    特点:

    1.       可以在模态窗口上再弹出模态窗口,不限制次数

    2.       弹出窗口的支持拖放,及调整大小

    3.       弹出窗口关闭后可以动态控制是否刷新父窗口

     

     

    总共需要3个页面来做演示

    1. 页面ModalDemo.aspx

    前台代码:

    <head runat="server">
    
        <title>无标题页</title>
    
        <base target="_self"  />
    
     
    
        <script type="text/javascript">
    
     
    
    function OpenDialogWithReturn(url,width,height,formID,action)
    
    {
    
         var retValue = window.showModalDialog( url ,null,"dialogWidth:" + width + "px;dialogHeight:" + height +  "px;help:no;unadorned:yes;resizable:yes;status:no;scrollbars:yes");
    
         if (retValue !=  null && retValue != undefined && retValue == "SubmitForm")
    
         {
    
          if(action !=  null  && action != undefined && action.Length > 0)
    
           {
    
             formID.Action=action;
    
          }
    
           formID.submit();
    
             
    
         }
    
    }
    
        </script>
    
     
    
    </head>
    
    <body>
    
        <form id="form1"  runat="server">
    
        <div>
    
            <a href="#"  onclick="OpenDialogWithReturn('ModalPage1.aspx',520,410,form1,'ModalDemo.aspx');">通过页面脚本来弹出模态窗口</a><br />
    
            <br />
    
            <br /><asp:Button ID="btnDetail"  runat="server" 
    
                    onclick="btnDetail_Click" Text="通过动态注册弹出窗口" />
    
    &nbsp;<br />
    
            <div>
    
                <%=DateTime.Now %>
    
            </div>
    
        </div>
    
        </form>
    
    </body>
    View Code

    后台代码:

    protected  void btnDetail_Click(object sender,  EventArgs e)
    
            {
    
                this.ClientScript.RegisterStartupScript(this.GetType(), "", "OpenDialogWithReturn('ModalPage1.aspx',520,410,form1,'ModalDemo.aspx');", true);
    
            }

    2.第二个页面ModalPage1.aspx

    前台代码:

    <head runat="server">
    
        <title>第一个模态窗口</title>
    
        <base target="_self"  />
    
     
    
        <script type="text/javascript">
    
     
    
    function OpenDialogWithReturn(url,width,height,formID,action)
    
    {
    
         var retValue = window.showModalDialog( url ,null,"dialogWidth:" + width + "px;dialogHeight:" + height +  "px;help:no;unadorned:yes;resizable:yes;status:no;scrollbars:yes");
    
         if (retValue !=  null && retValue != undefined && retValue == "SubmitForm")
    
         {
    
          if(action !=  null  && action != undefined && action.Length > 0)
    
           {
    
             formID.Action=action;
    
          }
    
           formID.submit();
    
             
    
         }
    
    }
    
     
    
        </script>
    
     
    
    </head>
    
    <body onunload="window.returnValue='SubmitForm';">
    
        <form id="form1"  runat="server">
    
        <div>
    
            <a href="#"  onclick="OpenDialogWithReturn('ModalPage2.aspx',500,400,form1,'ModalPage1.aspx');">
    
                通过页面脚本来弹出模态窗口</a>
    
            <br />
    
            <br />
    
            <asp:Button ID="Button1"  runat="server" Text="通过动态注册脚本来弹出模态窗口" 
    
                OnClick="Button1_Click" />
    
            <br />
    
            <br />
    
            <br />
    
            <asp:Button ID="btnOK"  runat="server" OnClick="btnOK_Click" Text="确定" />
    
            <br />
    
            <div>
    
                <%=DateTime.Now %></div>
    
        </div>
    
        <asp:Button ID="Button2"  runat="server" Text="添加" />
    
        </form>
    
    </body>
    View Code

    后台代码:

    //弹出新的模态窗口
    
            protected  void Button1_Click(object sender,  EventArgs e)
    
            {
    
                this.ClientScript.RegisterStartupScript(this.GetType(), "", "OpenDialogWithReturn('ModalPage2.aspx',500,400,form1,'ModalPage1.aspx');", true);
    
     
    
            }
    
            //关闭当前窗口,并刷新父页面
    
            protected  void btnOK_Click(object sender,  EventArgs e)
    
            {
    
                this.ClientScript.RegisterClientScriptBlock(this.GetType(), "", "window.returnValue='SubmitForm';window.close();", true);
    
     
    
            }
    View Code

    3. 第三个页面ModalPage2.aspx

    前台代码:

    <head runat="server">
    
        <title>第二个模态窗口</title>
    
        <base target="_self"  />
    
    </head>
    
    <body onunload="window.returnValue='SubmitForm';">
    
        <form id="form1"  runat="server">
    
        <div>
    
            <asp:Button ID="Button1"  runat="server" Text="ok" OnClick="Button1_Click" />
    
        </div>
    
        <div>
    
            <asp:Button ID="Button2"  runat="server" Text="添加" />
    
        </div>
    
        <br />
    
        <div>
    
            <%=DateTime.Now %></div>
    
        </form>
    
    </body>
    View Code

    后台代码:

    //关闭当前窗口,并刷新父窗口
    
            protected  void Button1_Click(object sender,  EventArgs e)
    
            {
    
                this.ClientScript.RegisterClientScriptBlock(this.GetType(), "", "window.returnValue='SubmitForm';window.close();", true);
    
     
    
            }
    View Code

     

     

  • 相关阅读:
    三:Redis连接池、JedisPool详解、Redisi分布式
    vmware workstation14永久激活密钥分享
    人工智能二:TensorFlow环境搭建
    消息队列二:关于消息队列
    消息队列一:为什么需要消息队列(MQ)?
    java基础进阶一:String源码和String常量池
    人工智能一:Al学习路线
    Python学习二:词典基础详解
    Python学习一:序列基础详解
    什么是Hive
  • 原文地址:https://www.cnblogs.com/J-FoX/p/3387060.html
Copyright © 2011-2022 走看看