控件脚本回调基本知识
ASP.NET 脚本回调机制由两个关键元素组成:响应用户操作的服务器端代码,以及客户端上处理服务器端事件所生成结果的 JavaScript 回调代码。在页面回调自身的情况下,正如我在前面提到的文章中所述的那样,您可以在执行对用户不可见的回发的页面按钮中附加一些 ASP.NET 生成的脚本代码。因为该请求的目标是当前页,所以该页会发布到自身,这与它在一个普通回发事件中的行为方式相似,只是页面的生命周期缩短了。该页必须实现 ICallbackEventHandler 接口,以便可以调用一个具有预定义签名的方法,来为客户端生成结果。
那么,当控件触发带外调用时,该方案又有什么不同呢?在这种情况下,“不可见”回发的目标 URL 是承载该调用方控件的页面的 URL。该控件必须实现 ICallbackEventHandler 才能提供为客户端生成某些结果的方法。同样,该控件负责在承载页中插入处理结果和刷新该页所需的任何 JavaScript 代码。
具有回调功能的控件只是一个实现 ICallbackContainer 和 ICallbackEventHandler 接口的控件,两个接口都各有一个方法。ICallbackContainer 接口具有的方法可以返回触发远程调用的脚本代码;ICallbackEventHandler 接口则提供了在调用期间执行的服务器端代码。ICallbackEventHandler 也是一个具有回调功能的页面必须实现的接口。一个实现回调接口的自定义控件示例的声明如下面的代码所示:
public class CallbackValidator : WebControl,
INamingContainer, ICallbackContainer, ICallbackEventHandler
文章来源于领测软件测试网 https://www.ltesting.net/