ICallbackEventHandler 接口实现回调处理功能

在最近的项目实现中遇到了一个问题前端

在数据处理的过程当中,须要请求获取数据,再作处理以后,能够在页面及时获取数据web

开始时,首先想到的到是写Ajax请求,但在作后续数据处理后,处理获取数据等操做,感受实现起来至关麻烦函数

后来选择使用的回调的方式实现测试

ICallbackEventHandler 接口适用于回调处理的操做,后来通过了解,才知道之前常用的控件GridView、DetailsView、TreeView都是实现了这个接口(>_<)ui

ICallbackEventHandler接口封装了两个方法:this

 RaiseCallbackEvent(string eventArgument)//前端脚本触发后,自动执行该方法 spa

 GetCallbackResult()//回调函数,获取或操做数据 code

 

应用示例:orm

 1     public partial class CallBackTest : System.Web.UI.Page,ICallbackEventHandler
 2     {
 3         public string callBackEventHandler = "";
 4         protected void Page_Load(object sender, EventArgs e)
 5         {
 6             callBackEventHandler = ClientScript.GetCallbackEventReference(this, "arg", "rServer", "context");
 7         }
 8 
 9         protected static string _result = "";
10 
11         public string GetCallbackResult()
12         {
13             return _result;
14         }
15 
16         public void RaiseCallbackEvent(string eventArgument)
17         {
18             string[] strDataList = eventArgument.Split('|');
19             string[] strDataItem = strDataList[4].Split('=');
20             string name = strDataItem[0];
21             string value = strDataItem[1];
22             _result = string.Format("Name:{0},Vlaue:{1}", name, value);
23         }
24     }

JSblog

 1      function  rServer(arg,context) {
 2             //这个是回调成功后的处理函数
 3             alert(arg);
 4         }
 5         function raiseEvent(arg, context) {
 6             //调用函数
 7             var data ="测试数据=1|测试数据=2|测试数据=3|测试数据=4|测试数据=5";               
 8             arg = data;
 9             <%= callBackEventHandler %>
10         }

 

更多应用示例

https://msdn.microsoft.com/zh-cn/library/system.web.ui.icallbackeventhandler(v=vs.110).aspx

相关文章
相关标签/搜索