在 ASP.NET 中若要使用 CallBack 機制必需實作 System.Web.UI.ICallbackEventHandler 介面,若很多頁面都需要使用 CallBack 機制時,可以在 BasePage 實作 System.Web.UI.ICallbackEventHandler 介面就好,讓 BasePage 引發 CallBack 回呼的事件,這樣在使用 CallBack 時就可以更簡單。

以下的範例就是撰寫一個支援 CallBack 回呼的 BasePage,當頁面執行 CallBack 回呼時,會引發 CallBack 事件,開發人員只需在 CallBack 事件中判斷傳入值,並處理回傳值。

先撰寫一個實作 實作 System.Web.UI.ICallbackEventHandler 介面的 TBBasePage,其中 CallBack 回呼時會引發「CallBack 事件」,CallBackEventArgs 事件引數包含 Argument 屬性(CallBack 傳入參數) 及 Result 屬性 (CallBack 回傳結果)。

當頁面需要 CallBack 時,只需要繼承 TBBasePage,在「CallBack 事件」中以 e.Argument 判斷傳入參數,並將回傳結果寫入 e.Result。以下範例就是繼承 TBBasePage,利用 CallBack 方式「取得伺服端時間」。

*.aspx.vb

*.aspx 程式碼如下,其中 ReceiveServerData 為接收 CallBack 回傳的 JavaScript 函式。

ASP.NET 魔法學院


DotBlogs Tags: BasePage CallBack javascript

Feedback

  • 庫洛洛 2009/2/11 上午 12:01 回覆

    # re: CallBack BasePage (簡化 CallBack 回呼程式碼)

    請問這個可以在單個頁面, 在多個項目做callback嗎?

    就是 TextBox1, TextBox2都要各別做各自的callback又互不影響.

  • jeff377 2009/2/11 下午 12:33 回覆

    # re: CallBack BasePage (簡化 CallBack 回呼程式碼)

    to 庫洛洛 :
    你傳入不同的 EventArgument,就可以識別不同控制項。

  • 庫洛洛 2009/2/12 下午 10:30 回覆

    # re: CallBack BasePage (簡化 CallBack 回呼程式碼)

    要怎麼用啊, 因為一直接到相同的值....XD
    可不可給清楚的提示或例子,
    真的做不出來.
    拜拖版主了.

  • 庫洛洛 2009/4/23 下午 11:59 回覆

    # re: CallBack BasePage (簡化 CallBack 回呼程式碼)

    我搞懂了, 謝謝版主提醒與分享....

標題 *
名稱 *
Email (將不會被顯示)
Url
回應
登入後使用進階評論
Please add 7 and 5 and type the answer here: