Ajax环境下弹出提示框
在普通的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环境下实现弹出对话框不止这一种方法,有更好的希望多多交流,相互学习。
??
??
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |