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

相關文章
相關標籤/搜索