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
延伸阅读
文章来源于领测软件测试网 https://www.ltesting.net/