为什么IE无法关闭标签"取消"按钮单击c#

时间:2015-01-28 09:31:27

标签: javascript c# .net

我有这个取消按钮:

    <asp:Button ID="Button1" runat="server"  onclick="Button1_Click" Text="Cancel" />

我想点击那个按钮关闭当前窗口,所以在codebehind:

protected void Button1_Click(object sender, EventArgs e)
    {
        string jScript = "<script>window.close();</script>";
        ClientScript.RegisterClientScriptBlock(this.GetType(), "keyClientBlock", jScript);
       // Response.Write("<script>parent.close_window();</script>");
    }

但我没有在IE浏览器中看到该窗口标签关闭。这里有什么可以纠正的吗?

2 个答案:

答案 0 :(得分:2)

当你只能附加js / jQuery中的按钮click事件时,为什么要使用这个服务器端?

由于浏览器安全设置,这可能无法正常工作,除非窗口本身是通过window.open()方法生成的,因此如果绝对必要,您将需要使用解决方法。

<script type="text/javascript">
     $('#button').click(function(e){
          e.preventDefault();
          window.open('','_self').close();
     });
</script>

<button id="button" value="close" />

答案 1 :(得分:0)

function CloseWindow() {
window.open('','_self').close();
}

背后的代码

protected void Button1_Click(object sender, EventArgs e)
{
string jScript = "<script>CloseWindow();</script>";
ClientScript.RegisterClientScriptBlock(this.GetType(), "keyClientBlock", jScript);
}

我还建议在javascript中创建一个函数,然后用你的代码调用它,如果你不打算在.cs方面做任何事情,我们DGibs回答。