在asp.net中有關"彈出對話框"的問題

很多人在問,關於彈出對話框的問題,現總結如下:
一:使用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就是要彈出的信息
   }

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章