ASP.NET多事件无刷新客户端回调
作者 佚名技术
来源 NET编程
浏览
发布时间 2012-05-21
返回客户端的结果 protected void Page_Load(object sender, EventArgs e) { //Page.ClientScript //获取用于管理脚本、注册脚本和向页添加脚本的 System.Web.UI.ClientScriptManager 对象。 //返回结果:一个 System.Web.UI.ClientScriptManager 对象 //ClientScriptManager对象 是一些在Web应用程序中定义用于管理客户端脚本的方法, //其中有一个方法重载:GetCallbackEventReference(……) //string GetCallbackEventReference(Control control, string argument, string clientCallback, string context) //获取一个对客户端函数的引用;调用该函数时,将启动一个对服务器端事件的客户端回调 //此重载方法的客户端函数包含指定的控件、参数、客户端脚本和上下文 //参数:control: 处理客户端回调的服务器 System.Web.UI.Control。该控件必须实现 //System.Web.UI.ICallbackEventHandler接口并提供 //System.Web.UI.ICallbackEventHandler.RaiseCallbackEvent(System.String)方法 //argument: 从客户端脚本传递给服务器端的一个参数 //System.Web.UI.ICallbackEventHandler.RaiseCallbackEvent(System.String)方法 //clientCallback: 一个客户端事件处理程序的名称,该处理程序接收成功的服务器端事件的结果 //context: 启动回调之前在客户端计算的客户端脚本;脚本的结果传回客户端事件处理程序 //第一句是GetCallbackEventReference函数 string cbReference = Page.ClientScript.GetCallbackEventReference(this, "arg", "ReceiveServerData", "context"); //第二句为生成要注册的客户端调用的JS函数CallTheServer,参数跟在前台的JS里书写的一致 //此函数的内容为上一句参数引用的脚本 string callbackScript = "function CallTheServer(arg,context){" + cbReference + "};"; //第三句为注册此脚本,利用RegisterStartupScript方法 //其中第一个参数为固定的;第二个参数提示的是要注册脚本启动的键; //第三个是要注册的脚本的内容;最后一个参数为true就启用自动添加; Page.ClientScript.RegisterStartupScript(this.GetType(), "abcdefg", callbackScript, true); //经过第三句注册后实际发送到客户端的代码为: //WebForm_InitCallback();function CallTheServer(param,context) //{WebForm_DoCallback(''__Page'',arg,ReceiveServerData,context,null,false)}; } /// <summary> /// ICallbackEventHandler接口要实现的方法,处理以控件为目标的回调事件 /// </summary> /// <param name="eventArgument">一个字符串,表示要传递到事件处理程序的事件参数</param> public void RaiseCallbackEvent(string eventArgument) { //获取function的值,以及截掉function后的参数串 //如果有需要循环取参数,截掉是为了缩短参数串,减少不必要的循环 //如果参数串为空,还可以结束循环 string[,] function = GetParams("function",eventArgument); //根据取出的function的值,执行相应的方法 if (function[0,0] == "Dog") { //function[0,1]是已切除function的eventArgument参数串 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
关于ASP.NET多事件无刷新客户端回调的所有评论