2009-10-29 60 views
1

我想禁用ASP.Net验证器,使其禁用回发。禁用ASP.NEt Validator,使其禁用回发

我使用

$('.c_MyValidator').each(function() { 
    ValidatorEnable(document.getElementById($(this).attr('id')), false); 
}); 

但是当页面回传禁用客户端上的验证,我的网页仍然是无效的。 我在UserControl(.ascx)中,所以没有为我覆盖Validate()。

如何禁用验证器,使其在页面回发时启用= false。

任何想法?

+1

确认通常是您希望在回发时发生的情况。你能解释一下别有用心的动机吗? – 2009-10-29 21:52:50

+0

是啊当然..以及有类似的整个情况的小版本,我点击一个复选框“启用/禁用日期”,它显示并隐藏日期文本框输入日期或不。所以我在该日期的文本框中获得了必需的字段验证器。所以如果checbox没有被检查,验证器需要运行。 – LibraRocks 2009-10-29 22:30:23

回答

2

您的场景here有一个示例。基本上在服务器端代码中,将验证器的enabled属性设置为复选框的checked属性(以及调用客户端ValidatorEnable)。使用用户控件的Page_Load事件,因为没有Validate方法。

public partial class CheckboxAndValidator : System.Web.UI.UserControl 
{ 
    protected void Page_Load(object sender, EventArgs e) 
    { 
     validator.Enabled = cbControlValidation.Checked; 
    } 
} 

什么,你不能做的是验证在Page_Load事件。这太早了,需要在页面生命周期的后期完成,一旦用户控件完成了一些操作。