CallbackValidator_UpdateUI,
null,
null);
请注意,CallbackValidator 控件的 ID 是由服务器生成的,以便可以唯一标识页面上的每个控件。
返回页首
解决状态问题
正如图 4 中显示的那样,回发的请求中包含一些输入域。除了前面提到的 CALLBACKID 和 CALLBACKPARAM 域之外,该请求还包含了其他一些输入域。更准确地说,它包含了窗体中的所有输入域,以及两个特定于该回调操作的输入域。换句话说,视图状态是与这些输入域(文本框、下拉列表等)的当前值一起回发的。
在检查请求的回调状态并找出哪个对象(Page 还是控件)要调用 RaiseCallbackEvent 之前,HTTP 页面处理程序会还原视图状态和发布的值。根据这点,您可能会猜想 RaiseCallbackEvent 方法中定义的代码将以一种一致和更新的状态执行。特别是,您可能会猜想 CallbackValidator 控件的 RaiseCallbackEvent 方法所调用的所有验证器都将测试它们所绑定的输入控件的当前值。但是,从本部分的标题中可以看出,实际上并不是这样。请看一下图 6 中的 RaiseCallbackEvent 代码。
该方法会检索验证器控件,并调用它的 Validate 方法。该方法执行其任务(具体取决于验证器的类型)并将 IsValid 属性设置为 True(有效)或 False(无效)。接下来,RaiseCallbackEvent 方法会构建它对客户端页面的响应。返回字符串是一个以竖杠分隔的字符串集合,每个字符串的格式如下:
延伸阅读
文章来源于领测软件测试网 https://www.ltesting.net/