从界面a.aspx界面中有个按钮<input id="Button1" type="button" value="button" onclick="showModelDialog();" />对应的事件是:  function showModelDialog() {
            window.showModalDialog("b.aspx", null, "dialogHeight: 580px; dialogWidth: 440px;");
        }跳转到b.aspx页面。
在b界面中有个按钮,是服务端控件。<asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Button"/>现在在需要在事件Button1_Click中关闭b页面,有如下代码: protected void Button1_Click(object sender, EventArgs e)
        {
            Response.Write("<script language='javascript' type='text/javascript'>window.close();</script>");
        }它会弹出提示,而且点击提示中的确定后,它不会关闭b页面。而是关闭了另外又弹出的一个b页面。Q:如何直接关闭b页面啊?

解决方案 »

  1.   

    protected void Button1_Click(object sender, EventArgs e)
            {
                Response.Write("<script language='javascript' type='text/javascript'>window.close();</script>");
            }这个就不该再用服务端按钮做了。它在后方怎么能直接管到你前方已经运行的前台页面呢,硬让它做,它只能按你这种指示,又输出一个B页面来执行你这次发出的JS指令。把这个服务端控件
    <asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Button"/>换成客户端的按钮:
    <input type="button" value="关之" onclick="window.close()" />
    就这样完事了,多简便。
      

  2.   

    记得把
    protected void Button1_Click(object sender, EventArgs e)
            {
                Response.Write("<script language='javascript' type='text/javascript'>window.close();</script>");
            }去掉
      

  3.   

    因为这个按钮在后台还要做别的事情,不得已才用服务端的按钮。
    而且,我直接用执行b页面(不是从a页面跳转过来的),在b页面里面就可以直接关闭,而不会先再弹出个b再关闭的这点怎么解释啊???
      

  4.   

    showModelDialog()神马的最好别用吧 chrome不支持 这年头用chrome的这么多
      

  5.   


    哦 ,,我刚刚测试了下,,chrome支持这个方法, 是opera不支持这个方法
      

  6.   

    Opera 和 Chrome 对模态对话框(showModalDialog)的支持有缺陷,且非 IE 浏览器均不支持非模态对话框(showModelessDialog)
    http://www.w3help.org/zh-cn/causes/BX9036
      

  7.   

    顺便再问问,怎么样不用showModalDialog  而实现模态窗口的效果啊???
      

  8.   

    chrome是不支持滴 chrome用这个方法和直接window.open一样
      

  9.   


    那请问:这个showModelDialog()可以用什么方法代替呢??要实现这样的功能。
      

  10.   

    在b页面的<head>中添加
    <base target="_self" />就可以不弹出新页面了。
      

  11.   


    直接拿div模拟一个就好了 在div里面套一个lightbox 然后fixed定位一下