很多人在問,關於彈出對話框的問題,現總結如下:
一:使用js腳本
Response.Write("<script>window.alert(/"Hello World/");</script>");
二:爲按鈕增加click屬性:
My_Button.Attributes.Add("onclick","return confirm('您確定刪除該記錄嗎?');");
三:使用MessageBox.Show()
需要加引用:using System.Windows.Forms;
注意:這個消息會出現在服務器端。
四:這個纔是最牛X的:
一 般的解決辦法就是用Response.Write寫一段腳本代碼來彈出對話框,可問題是當對話框彈出後,頁面卻一片空白。這裏講述的辦法就是在彈出對話框的同時保持頁面的顯示!
【原理】
在頁面上放置一隱藏控件,並在頁面最後放上一段腳本代碼,腳本代碼檢測隱藏控件的value是否爲空,若不爲空則彈出對話框顯示信息,否則什麼也不做。
後臺代碼在需要的時候修改隱藏控件的value,這樣當頁面傳到用戶那時,最後的腳本代碼將執行並彈出對話框
【注意事項】
1.隱藏控件必須是HTML控件,否則javascript無法找到。
2. 後臺代碼要修改隱藏控件的值,隱藏控件自然得加上runat=”server” 標記。
3.在彈出對話框後,記得把隱藏控件的value置空,否則刷新的時候又會彈出來了
4.腳本代碼一定得放在隱藏控件的後面,否則同樣找不到。
【實現】
頁面代碼(只列出body)
<body MS_POSITIONING="GridLayout">
<form id="Form1" method="post" runat="server">
<asp:TextBox id="manuInput" runat="server"></asp:TextBox>
<asp:Button id="Button1" runat="server" Text="對話框"></asp:Button>
<INPUT id="passTxt" type="hidden" runat="server"><!—加隱藏控件
</form>
<script language=javascript>
if( document.all("passTxt").value!="" )
{
alert( document.all("passTxt").value );
document.all("passTxt").value=""; //這句可不能掉喲!
}
</script>
</body>
後臺代碼(只列出Button1的響應事件)
private void Button1_Click(object sender, System.EventArgs e)
{
passTxt.Value = manuInput.Text;//這裏manuInput.Text就是要彈出的信息
}