日期:2014-05-20  浏览次数:20452 次

请教验证控件的深层机制
如果一个页面在提交时未能通过验证,那么那些控件就会显示出来。此时如果往输入框中输入符合验证条件的内容,那么当焦点离开输入框时,验证控件就会消失。
请问,验证控件消失前,.NET都做了哪些动作,是如何实现让验证控件消失的?
我曾经试着在离开焦点时调用Page_ClientValidator(),可是这个方法会把该页面上所有的验证控件都验证一遍,那么像这种一个个的验证是如何实现的呢。

我遇到的问题是:对TextBox1执行非空验证,但TextBox1中的内容并不是通过键盘输入的,而是由一个ModalDialog的返回值填入,这个过程并没有离开焦点的动作(TextBox1只读),所以如果首次提交未通过验证,验证控件显示出来,我再通过ModalDialog给TextBox1填充一个值(已非空),之后验证控件仍显示。

如何解决这样的问题。

------解决方案--------------------
ModalDialog返回后,用脚本触发TextBox的onblur事件试试