標籤:style blog http os 使用 java ar for 資料
在普通的ASP.NET環境中,我們要想在WEB表單上彈出一個對話方塊,經常用到的是如下代碼:
<span style="font-family:SimSun;font-size:18px;"><span style="font-family:SimSun;font-size:18px;">Response.Write("<script language=javascript>alert('刪除試題失敗!')</script>");</span></span>
然而在Ajax的環境中卻不能使用上述的代碼,否則會報錯。因為它不會把這些資料看成語句而執行,只會當成是字串,那麼如何在Ajax環境中彈出提示框呢?
可以使用Ajax的ScriptManager類的RegisterClientScriptBlock()方法來實現彈出對話方塊的功能,該類能夠直接向WEB表單頁中註冊對話方塊的腳步。
有關該方法的API如下:
ClientScriptManager.RegisterClientScriptBlock 方法
下面通過一個小Demo來帶大家熟悉下這個方法的用法。
我們把要在Ajax環境下彈出的對話方塊都封裝到一個類中,方便我們以後的調用,比如在Page下彈出的對話方塊、在Ajax環境下,Button按鈕彈出的對話方塊等,都封裝到一個類中,以後只需調用即可。
<span style="font-family:SimSun;font-size:18px;"> /// <summary> ///Ajax環境下顯示對話方塊 /// </summary> public class AjaxCommond { ///<summary> ///在ASP.NET AJAX環境中,為Button控制項彈出一個提示對話方塊 ///</summary> ///<param name="button">Button控制項</param> ///<param name="message">對話方塊中的訊息</param> public void OpenDialogForButton(Button button, string message) { ScriptManager.RegisterClientScriptBlock( button, typeof(Button), DateTime.Now.ToString().Replace(":", " "),///使用目前時間作為標識 "alert('" + message + "')", true); } ///<summary> ///在ASP.NET AJAX環境中,為Page對象彈出一個提示對話方塊 ///</summary> ///<param name="button">Page對象</param> ///<param name="message">對話方塊中的訊息</param> public void OpenDialogForPage(Page page, string message) { ScriptManager.RegisterClientScriptBlock( page, typeof(Page), //傳遞的類型 DateTime.Now.ToString().Replace(":", " "),///使用目前時間作為標識 "alert('" + message + "')", //要顯示的資訊 true); } }</span>
有了這個公用的類,下面是調用的示範代碼:
<span style="font-family:SimSun;font-size:18px;"> protected void Button1_Click(object sender, EventArgs e) { AjaxCommond ac = new AjaxCommond();//執行個體化公用類AjaxCommond //彈出ajax環境中的提示對話方塊 ac.OpenDialogForButton((Button)sender, "資料儲存成功!"); }</span>
總結
當然了,在Ajax環境下實現彈出對話方塊不止這一種方法,有更好的希望多多交流,相互學習。
Ajax環境下彈出提示框