net 中 等同與ajax的效果 ICallbackEventHandler

來源:互聯網
上載者:User

更深入的參考與研究,可以看看以下的
http://msdn2.microsoft.com/zh-cn/library/ms178210%28vs.80%29.aspx http://tech.sina.com.cn/s/2006-04-20/1522911788.shtml  http://tech.sina.com.cn/s/2006-04-20/1522911789.shtml 

首先,它是建立在網頁之上的。開啟vs2005以上的版本,建立網站

 轉載請註明 http://netsos.cnblogs.com/

1.在介面上拖放一個靜態控制項,button,在他的onclick事件上Callback  <button  onclick="Callback();" >測試一下ajax效果</button>

 轉載請註明出處 【http://netsos.cnblogs.com】 

 2.寫上剛才的Callback函數 在頁面的javascript中

在javascript執行的代碼

 1 <script type="text/javascript">
 2 //onclick的事件開始啦!
 3 function Callback()
 4 {
 5     //args 是一個變數,一會進行非同步時會用到
 6      var args="網站上你要進行ajax,非同步進行的變數,最後傳入後台進行接收,處理";
 7    //args變數現在用到了,ReceiveData是返回給用戶端,即是使用者看的結果,一會兒再說
 8    <%=ClientScript.GetCallbackEventReference(this,"args","ReceiveData",null)%>
 9 }
10 //這個是最後執行的,就是上面所說的
11 //這裡的data是後台,我們看不到的,服務端處理過之後,返還的結果 
12 function ReceiveData(data)
13 {
14    //這裡可以自己根據情況寫
15     alert(data);
16 }
17 
18 </script>

3.咱們接著進入後台,看看背景接收是怎麼樣的

 在寫之前,先把準備工作做好,先實現 ICallbackEventHandler這個介面

他會自動產生自己內部的方法

 轉載請註明 http://netsos.cnblogs.com/ 

代碼

 1 #region ICallbackEventHandler 成員
 2 
 3     public string GetCallbackResult()
 4     {
 5         return "";
 6     }
 7 
 8 
 9     public void RaiseCallbackEvent(string eventArgument)
10     {
11         
12     }
13 
14     #endregion

4.定義一個全域的變數 進行處理

 轉載請註明出處 【http://netsos.cnblogs.com】 

 

代碼

 1 private string CallServerData=string.Empty;
 2 #region ICallbackEventHandler 成員
 3 
 4    //他會把傳過來的結果,作為剛才ReceiveData函數中的參數 ReceiveData(data),
 5     //相當於data==GetCallbackResult()
 6     public string GetCallbackResult()
 7     {
 8         return CallbackVaue + "ok!";
 9     }
10 
11 
12     public void RaiseCallbackEvent(string eventArgument)
13     {
14         this.CallServerData= eventArgument;
15         //記住這裡的eventArgument就是剛才在前台的args變數的值
16        //接收完 args--->eventArgument---->CallServerData
17     }
18 
19     #endregion

最後在總結一下

 整個流程調用的順序是: (前台)Callback() -->  

                                                                  (後台)ICallbackEventHandler.RaiseCallbackEvent(string eventArgument) -->

                                                                          (後台)ICallbackEventHandler.GetCallbackResult() -->

         (前台)ReceiveServerData(string Value)。

 

 轉載請註明出處【http://netsos.cnblogs.com】

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.