控件腳本回調基本知識
ASP.NET 腳本回調機制由兩個關鍵元素組成:響應用戶操作的服務器端代碼,以及客戶端上處理服務器端事件所生成結果的 JavaScript 回調代碼。在頁面回調自身的情況下,正如我在前面提到的文章中所述的那樣,您可以在執行對用戶不可見的回發的頁面按鈕中附加一些 ASP.NET 生成的腳本代碼。因為該請求的目標是當前頁,所以該頁會發布到自身,這與它在一個普通回發事件中的行為方式相似,只是頁面的生命周期縮短了。該頁必須實現 ICallbackEventHandler 接口,以便可以調用一個具有預定義簽名的方法,來為客戶端生成結果。
那么,當控件觸發帶外調用時,該方案又有什么不同呢?在這種情況下,“不可見”回發的目標 URL 是承載該調用方控件的頁面的 URL。該控件必須實現 ICallbackEventHandler 才能提供為客戶端生成某些結果的方法。同樣,該控件負責在承載頁中插入處理結果和刷新該頁所需的任何 JavaScript 代碼。
具有回調功能的控件只是一個實現 ICallbackContainer 和 ICallbackEventHandler 接口的控件,兩個接口都各有一個方法。ICallbackContainer 接口具有的方法可以返回觸發遠程調用的腳本代碼;ICallbackEventHandler 接口則提供了在調用期間執行的服務器端代碼。ICallbackEventHandler 也是一個具有回調功能的頁面必須實現的接口。一個實現回調接口的自定義控件示例的聲明如下面的代碼所示:
public class CallbackValidator : WebControl,
INamingContainer, ICallbackContainer, ICallbackEventHandler
文章來源于領測軟件測試網 http://www.kjueaiud.com/