【问题标题】:disabling ASP.NEt Validtor such that its disabled on postback禁用 ASP.NEt Validtor 使其在回发时禁用
【发布时间】:2009-10-29 21:47:25
【问题描述】:

我正在尝试禁用 ASP.Net 验证器,以便在回发时禁用它。

我正在使用禁用客户端的验证器

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

但是当页面回发时,我的页面仍然无效。 我在 UserControl (.ascx) 中,所以我没有覆盖 Validate()。

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

有什么想法吗?

【问题讨论】:

  • 验证通常是您希望在回发时发生的事情。你能再解释一下别有用心吗?
  • 是的,当然.. 整个场景有类似的小版本,我点击一个复选框“启用/禁用日期”,它显示和隐藏日期文本框以输入或不输入日期。所以我在那个日期文本框中得到了一个必填字段验证器。因此,如果未选中复选框,则验证器需要运行。

标签: asp.net javascript jquery


【解决方案1】:

您的场景有一个示例here。基本上在服务器端代码中,将验证器的启用属性设置为复选框的选中属性(以及调用客户端 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 事件中验证您的 页面。这为时过早,需要在用户控件完成后在页面生命周期的后期完成。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-05-26
    • 1970-01-01
    • 2011-11-15
    • 1970-01-01
    • 1970-01-01
    • 2012-03-29
    • 2019-01-29
    • 2012-04-27
    相关资源
    最近更新 更多