我在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" />
答案 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即可使用,包括打开和关闭弹出窗口。它会被愚蠢,但仍然有效。看看这篇文章: