簡體   English   中英

單擊asp.net按鈕時如何關閉HTML窗口?

[英]How close Html window when click asp.net button?

我在html彈出窗口中有asp.net按鈕“確定”。 在邏輯完成之后,我自己如何關閉該彈出窗口?

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

都正確,但是如果要關閉代碼中的窗口,則還有另一種方法:

假設按鈕ID為“ ContineButton”,單擊事件處理程序名稱為“ ContineButton_Click”

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

如果您的服務器端代碼可能會失敗,並且您需要使彈出窗口保持打開狀態以糾正錯誤,則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;
}

那需要一些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;" />

這里還有其他需要考慮的事情-一個可訪問的站點無需JavaScript就可以工作,包括打開和關閉彈出窗口。 它會變笨,但仍然可以運行。 看一下這篇文章:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM