ICallbackEventHandler 接口实现回调处理功能

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

在数据处理的过程中,需要请求获取数据,再做处理之后,可以在页面及时获取数据

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

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

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

ICallbackEventHandler接口封装了两个方法:

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

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

 

应用示例:

 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     }

JS

 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

posted @ 2015-05-20 16:13  雏燕南飞  阅读(374)  评论(0编辑  收藏  举报