你的页面有两个用户控件ascx时。
如果都有用户提交的时候。
a.ascx 的TxtBox1的不为空验证
当你当击a.ascx的Button1时。会触发。而单击b.ascx的button1时也会触发。
这样就混在一起了。偶自己想了笨方法用框架。是解决了.
应该有别的方法解决。请教了Erist,原来可以把a.ascx或者b.ascx的Button1.CausesVaildation=false;
CausesVaildation属性:该按钮是否导致激发验证.
这样改了相应的Button1属性后。如果要文本框为空。就要在相应的cs代码里。
写验证语句.
:p不知道各位还有什么解决办法没。偶想知道.
在这种情况下,还是用javascript脚本比较合适,可控性更好。
看来要用js脚本。和在cs后台写验证这两种方法了
最好的办法是用前台js代码控制,象能不能为空,必须是数字等等。修改 button1的submit代码,先检查需要检查的控件数据是否合法,然后再调用postback。
但是有时候遇到不可避免的需要到后台进行验证,button 的causevalidation 设置为false 不是很好的办法,所有的空间验证都不执行了,设想一下,假如有两组控件,每组都有10个,一个按钮causevalidation=true,一个causevalidation=false,写出来的代码不觉得别扭吗。
其实只要在buttonclick中,把不需要验证的控件的 IsValid 属性设置为 True,就可以避免返回到界面的“不合法”验证结果,前提是该控件必须事先了 Ivalidation 接口
|