ASP.NET2.0內建的ClientCallback

來源:互聯網
上載者:User

現在AJAX很火,不要忘記ASP.NET2.0內建的ClientCallback,也是非常好用!
現在我來講一講ClientCallback簡單實現:
1.首先在aspx.cs檔案Page類增加ICallbackEventHandler介面

public partial class _Default : System.Web.UI.Page, ICallbackEventHandler

ICallbackEventHandler介面在ClientCallback非常重要的,我們來看一下ICallbackEventHandler介面到底有什麼東西:
    名稱                                           說明  
  string GetCallbackResult()                              返回以控制項為目標的回調事件的結果。 
  void RaiseCallbackEvent(string eventArgument)          處理以控制項為目標的回調事件。eventArgument參數:表示要傳遞到事件處理常式的事件參數。

2.要實現指令碼回調當然要寫指令碼:

//觸發事件js
string cbref = Page.ClientScript.GetCallbackEventReference(this, "arg", "JSCallback", "context");
            string cbScr = string.Format("function UseCallBack(arg, context) {{ {0}; }} ", cbref);
            Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "UseCallBack", cbScr, true);
這段代碼是通過代碼RegisterClientScriptBlock設定觸發指令碼回調事件函數、回呼函數、異常處理函數。UseCallBack(arg, context)函數: 觸發服務端事件函數; arg是要傳遞到事件處理常式的事件參數,context是上下文參數(很少用到,可以在下面JSCallback回呼函數中得到此值,但我在服務端得不到此值,請高手解答)

 //回調js
string context1 = "<script type=\"text/javascript\">function JSCallback(arg, context) { document.forms[0].TextBox1.value = arg; window.alert(context); }</script>";
Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "JSCallback", context1);
這段代碼是通過代碼RegisterClientScriptBlock註冊回調後的js,也可以直接寫到網頁裡。回調js的用處:

JSCallback(arg, context) 函數: js裡JSCallback函數是處理服務端返回的參數(例如:返回xml參數,經過處理後顯示下拉框裡)。

ClientCallback運行流程:
當頁面執行UseCallBack(arg, context),就自動到服務端運行RaiseCallbackEvent(string eventArgument),然後是GetCallbackResult(),最後執行頁面JSCallback(arg, context) 函數。

3.選擇一個觸發事件的條件:
就是讓頁面執行觸發服務端事件函數。例如:Button2.Attributes.Add("onclick", "UseCallBack('GYF','GYF2');");

哈哈,這樣實現了無重新整理了,很簡單吧!本人寫作水平很有限。
詳細看代碼:代碼下載 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.