庖丁解牛Asp.net3.5控件和组件开发技术系列—事件和数据回发机制(二)
事件发生之前是否需要在客户端进行验证
RequiresJavaScriptProtocol
获取或设置一个值,该值指示是否为客户端脚本生成了"javascript:"前缀。由于GetPostBackClientHyperlink没有支持 PostBackOptions作为参数的重载方法,所以让GetPostBackEventReference也能够返回用于HyperLink的客户端回发脚本串
TargetControl
获取接收回发事件的目标控件。创建PostBackOptions对象时传入的那个控件
TrackFocus
获取或设置一个值,该值指示回发事件是否应将页返回到当前的滚动位置并将焦点返回到当前控件
ValidationGroup
获取或设置一个控件组,当该控件组回发到服务器时,PostBackOptions将引发对它的验证。验证执行的前提是PerformValidation要设置为true
下面,我们来利用PostBackOptions类生成客户端回发脚本串。下面是已经完成的代码:
方法OnPreRender在第1章讲解控件生命周期时介绍过。它在设计模式下不被调用执行,在运行模式下才执行。一般在此方法中输出一些运行时执行的脚本资源,在上面的代码中我们就是输出一个客户端JavaScript函数。 在方法体中,定义一个PostBackOptions类对象pbo,首先设置属性pbo.AutoPostBack等于主控件的 KingTextBoxCanPostEvent.AutoPostBack属性值,这样把判断是否决定回发的任务交给pbo对象处理;设置属性 pbo.PerformValidation,要求回发之前要在客户端进行验证;设置pbo.TrackFocus属性,在执行完回发后使文本框重新获取焦点;设置pbo.ClientSubmit属性且一定要设置为true,本节就是实现从客户端引发回发事件;设置 pbo.RequiresJavaScriptProtocol属性为false,不用增加"javascript:"前缀,因为这里是文本框而不是超链接,有专门的客户端事件处理。 设置完成PostBackOptions对象的属性后,接着执行如下语句: string strPostBackCode=this.Page.ClientScript.GetPostBackEventReference(pbo); 以上面定义的PostBackOptions |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |