程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> 關於ASP.NET >> ASP.NET 2.0 Client Callback淺析

ASP.NET 2.0 Client Callback淺析

編輯:關於ASP.NET

ASP.NET 2.0 Callback 使得ASP.NET Server端控件能夠調用服務端的方法而不需要執行一個完整的Postback過程,也就是說使得Server端控件可以很好的支持Ajax。

Callback不同於Postback之處在於向服務器發送請求時只有ViewState和用戶自定義信息被發送到服務器端,請求完畢後,只返回用戶自定義結果,而不會從Render頁面。

GridView控件正是使用了這個技術來實現無刷新的分頁及排序功能,那麼它是如何實現的哪,我們又如何在自定義控件中添加該功能哪?本文將會簡單地闡述如何使用ASP.NET 2.0 Callback來實現Ajax.

1、ICallbackEventHandler 接口

ASP.NET Server端控件可以通過實現ICallbackEventHandler 接口來接受客戶端Callback事件。

ICallbackEventHandler 接口聲明:

1public interface ICallbackEventHandler
2{
3  string GetCallbackResult();
4  void RaiseCallbackEvent(string eventArgument);
5}

RaiseCallbackEvent負責處理客戶端回調事件,其中方法參數eventArgument是客戶端腳本在觸發Callback時提供的,該方法將會依賴於eventArgument參數來進行處理。

GetCallbackResult則負責將處理結果作為String返回給客戶端腳本。當Callback完成後客戶端腳本將會根據得到的處理結果,進行頁面局部更新。

2、CallbackEventReference

那麼怎麼樣才能注冊一段客戶端腳本來觸發Callback,還需要做些什麼哪?

ClientScriptManager類用於管理Web頁面中的客戶端腳本,提供了一系列的方法來注冊腳本,並且還可以獲得指定客戶端腳本函數的引用。通過ClientScriptManager類的GetCallbackEventReference方法我們可以獲取一個對客戶端函數的引用。當該函數在客戶端被調用時,將啟動一次客戶端回調。

GetCallbackEventReference方法聲明:

public string GetCallbackEventReference (
Control control,
string argument,
string clientCallback,
string context,
string clientErrorCallback,
bool useAsync
)

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved