单击asp.net按钮时Html窗口有多近?

时间:2010-10-14 18:09:27

标签: c# asp.net vb.net

我在html弹出窗口中有asp.net按钮“OK”。在我的逻辑完成后,我自己的弹出窗口有多接近?

<asp:Button Id="btnOK" runat="server"  AccessKey="<%$Resources:
wss,multipages_okbutton_accesskey%>" Width="70px" Text="<%$Resources:wss,
multipages_okbutton_text%>" OnClick="btnOK_Click" />

5 个答案:

答案 0 :(得分:15)

<asp:Button ID="btnOK" runat="server" OnClientClick="window.close(); return false;" Text="Close" />

答案 1 :(得分:11)

一切正确,但如果你想在你的代码中关闭窗口,还有另一种方法:

假设按钮ID为“ContineButton”且点击事件处理程序名称为“ContineButton_Click”

protected void ContineButton_Click(object sender, EventArgs e)
{
    this.ClientScript.RegisterClientScriptBlock(this.GetType(), "Close", "window.close()", true);
}

答案 2 :(得分:2)

如果您的服务器端代码可能会失败,并且您需要保持弹出窗口打开以纠正错误,OnClientClick技巧将无济于事。我使用PlaceHolder和一个小脚本执行此操作:

<asp:PlaceHolder id="close_script" runat="server">
  <script>window.close();</script>
</asp:PlaceHolder>

然后,在按钮处理程序中,设置PlaceHolder的Visible属性以关闭弹出窗口(或保持打开状态:

protected void btnOK_Click(Object sender, EventArgs e) {
  bool success = processPage();
  close_script.Visible = success;
}

答案 3 :(得分:0)

这需要一些javascript。将按钮标记更改为:

<asp:Button Id="btnOK" runat="server"  AccessKey="<%$Resources:
wss,multipages_okbutton_accesskey%>" Width="70px" Text="<%$Resources:wss,
multipages_okbutton_text%>" OnClick="btnOK_Click" OnClientClick="javascript:window.close(); return false;" />

答案 4 :(得分:0)

此处还有其他需要考虑的事项 - 可访问的网站无需JavaScript即可使用,包括打开和关闭弹出窗口。它会被愚蠢,但仍然有效。看看这篇文章:

http://accessify.com/features/tutorials/the-perfect-popup/