一、问题出现场景
场景:我在做项目的时候在同一页面两块区域分别由自己要验证的东西,其中有一块区域的button有OnClientClick和OnClick两个事件,需要通过OnClientClick进行验证,如果返回值为true则进入OnClick事件,结果发现,如果返回值为ture时这块区域的验证无效。出于这个场景考虑,我们只要弄好OnClientClick和验证以及OnClick三者的执行顺序,我们希望的执行顺序是 先进行验证如果不通过则不进行下面两个操作,通过则执行OnClientClick如果通过则继续,不通过则停止执行。
二、属性及方法介绍
validationGroup
基本上所有的.net控件都有这个属性,它的作用就是给验证和被验证的控件分组(实现不通区域执行不通的验证)
Page_ClientValidate()
前端手工启动验证控件的验证,返回值是true ,false,方法有多种调用方式,无参数时启用整个页面的验证,当validationGroup作为参数调用时只会启用该组的验证,如test组的验证,要在前端启用就可以Page_ClientValidate(“test”)返回值ture则为该组的页面验证通过,false为该组的页面控制不通。
三、参考网上方法解决
OnClientClick="if(Page_ClientValidate(‘’test‘’)){return true;}else{return false;}" OnClick="Button1_Click" />
if(Page_ClientValidate(‘’test‘’)){return true;}else{return false;}可以放入到js function中,在里面再进行自己的处理
如果有不明白的地方留言
本文介绍了在.NET项目中遇到的前端验证问题,即OnClientClick返回false时验证失效。通过理解validationGroup属性和Page_ClientValidate方法,可以实现不同区域的分组验证。解决方案包括在OnClientClick事件中调用Page_ClientValidate方法,根据其返回值决定是否继续执行后续操作。
228

被折叠的 条评论
为什么被折叠?



