window.showModalDialog()弹出页面的关闭问题

     关闭当前页面的方法在C#关闭当前页面(借道JavaScript) 中思考过。但是我在面对window.showModalDialog()弹出页面中使用的时候却失效了,相当恼火郁闷。

 

     从网上查找,了解到Window.ShowModalDialog使用手册 ,但是没有我的情况的描述。只有做一些测试页面找原因。从页面TestOpenWindow.htm中打开一个窗口,新窗口OpenWindow.aspx有3个按钮,分别是用javascript关闭,回送服务器关闭,回送服务器不关闭。

 

代码如下:

 


<body>
    
<input id="btnIpenWindow" type="button" value="打开窗口" onclick="OpenWindow()" />
</body>
<script type="text/javascript" language="javascript">
    function OpenWindow()
    
{
        var result
=window.showModalDialog("OpenWindow.aspx","","dialogHeight:550px;dialogWidth:750px;resizable:no;scroll:no;status:no;help:no");
    }

</script>

 


<body>
    
<form id="form1" runat="server">
    
<div>
        
<asp:Button ID="btnCancel" runat="server" Text="取消(回送服务器后关闭)" OnClick="btnCancel_Click1"/>
        
<asp:Button ID="btnCancel2" runat="server" Text="取消(回送服务器不关闭)" OnClick="btnCancel_Click3"/>
        
<input id="btnCancel1" type="button" value="取消(JavaScript)" onclick="window.close()" />
    
</div>
    
</form>
</body>

 

 


    protected void Page_Load(object sender, EventArgs e)
    {
    }
    
protected void btnCancel_Click1(object sender, EventArgs e)
    {
        Response.Write(
"<script>window.opener=null;window.close();</script>");
    }
    
protected void btnCancel_Click3(object sender, EventArgs e)
    {
        btnCancel2.Text 
= "已回送服务器";
    }

 

     测试结果是只有用JavaScript关闭才能正常退回到父页面,原因是当想服务器postback后,回发的页面不会在showmodeldialog的页面中显示,而是新开一个页面,所以在C#中也只能关闭回发的页面,而不是当前showmodeldialog的页面。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值