一个添加页面,在这个页面上有确定和取消两个按钮。点击确定的时候,要对一个txt控件进行非空验证,如果用RequiredFieldValidator的话,点击确定时,情况都是正常的,但是点击取消的时候,如果该txt控件为空,他也会验证后不让我取消关闭该窗体(点击取消的时候,在服务器端写代码关闭该页面)。所以点击取消后,他根本不让我提交到服务器端,所以服务器段的关闭代码就不执行,关不了该添加页面。
如果用CustomValidator,如果txt控件为空值的话,就不进行验证了,这样对我非空的验证就没有什么意义了,请问高手,我该怎么办????

解决方案 »

  1.   

    用RequiredFieldValidator,设置取消按钮的 CausesValidation="false"
      

  2.   


    可以使用以下两种方法在不触发验证检查的情况下回送数据:
    方法一:将控件的CauseValidation属性设置为false
    <asp:Button id="Button" runat="server" Text="取消" CauseValidation="False">
    </asp:Button>
    方法二:
    禁用验证控件,可以让这个验证控件设置为不生成客户端脚本。如果要在验证之前执行一些服务器代码,比如,通过数据库查询来进行验证,可以将验证控件的EnableClientScript属性设置为false,就不会生成客户端验证。