該 CallbackValidator 控件從 WebControl 繼承,并實現了 INamingContainer 接口。另外,它還實現了 ICallbackContainer 和 ICallbackEventHandler 接口,以便獲得回調支持。
ICallbackContainer 接口需要方法 GetCallbackScript 按照下列方式聲明:
string GetCallbackScript(IButtonControl buttonControl, string argument)
GetCallbackScript 采用兩個參數。第一個是對預期要觸發回調的頁面控件的引用。第二個參數(字符串)表示調用方希望傳遞給方法以幫助構建輸出的任何上下文。從名稱可以看出,GetCallbackScript 方法使用 JavaScript 函數調用來準備和返回字符串,以便附加到指定的按鈕控件來觸發遠程調用。
該按鈕控件參數使您能夠精確地指定要對控件 UI 中的哪個按鈕進行 JavaScript 調用。該示例 CallbackValidator 控件只有一個可單擊按鈕;而 GridView 控件則具有很多可單擊按鈕,每個按鈕都用于頁導航或標頭中的一個鏈接按鈕。在 ASP.NET 2.0 中,所有充當窗體中按鈕角色的控件都需要實現一個新的接口 — IButtonControl。該接口在圖 3 中進行了詳細說明,它是由下列 Web 控件實現的:Button、LinkButton 和 ImageButton。HTML 按鈕控件不能實現該接口。請注意,在 Microsoft .NET Framework1.x 中,IButtonControl 接口僅對于 Windows?Forms 按鈕控件存在(盡管成員集合完全不同)。
具有回調功能的控件所需的第二個接口是 ICallbackEventHandler — 在支持腳本回調的頁面上也需要這個接口。該接口由一個方法組成:
文章來源于領測軟件測試網 http://www.kjueaiud.com/