CallbackValidator 是一個合成控件,其用戶界面由一個簡單的按鈕組成。通過添加一些屬性來設置該按鈕的樣式(鏈接、按、圖像或其他什么內容),您可以輕松地擴展該控件的這方面內容。要在按鈕上顯示的文本由 ButtonText 屬性設置。一個名為 ControlsToValidate 的集合屬性會收集回調期間要在服務器上測試的所有頁驗證器的 ID。該屬性被實現為 StringCollection 類型,它在開始時是空的。圖 5 中的代碼只允許您在運行時添加控件 ID,而通常情況下,這是在 Page_Load 事件中完成的:
void Page_Load(object sender, EventArgs e) {
CallbackValidator1.ControlsToValidate.Add("valUserId");
CallbackValidator1.ControlsToValidate.Add("valEmail");
}
請注意,該集合類不會保持它的視圖狀態內容。因此,在傳入請求時,您必須總是重新對其進行初始化。另外還要注意,您應該在該集合中添加驗證控件而不是輸入控件。在遠程調用過程中,CallbackValidator 控件會針對關聯的控件調用 Validate 方法,并存儲客戶端回調的響應。CallbackValidator 控件與現有的驗證器協同工作,使得一個帶外調用就能夠對它們全部進行測試;它實際上并不是一種新型的驗證器。
正如您在圖 5中看到的那樣,CallbackValidator 控件會創建一個 Button 控件,并向其 OnClientClick 屬性附加一些代碼。OnClientClick 是 ASP.NET 2.0 中引入的一個新屬性,用于向 HTML onclick 事件添加 JavaScript 調用。在 ASP.NET 2.0 中,下面兩行代碼的作用完全相同:
button.Attributes["onclick"] = js; // ASP.NET 1.x; still works in 2.0
延伸閱讀
文章來源于領測軟件測試網 http://www.kjueaiud.com/