该 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 — 在支持脚本回调的页面上也需要这个接口。该接口由一个方法组成:
文章来源于领测软件测试网 https://www.ltesting.net/