【问题标题】:Repeater Item Command Causes Validation中继器项目命令导致验证
【发布时间】:2011-01-25 10:57:08
【问题描述】:

我似乎有一点错误,我有一个带有链接按钮的 ASP.NET 转发器控件,并且链接按钮的原因验证属性设置为 false。

但是;当单击它使面板在网页上可见时,asp.net 必填字段验证器控件触发并显示其错误消息。在我有验证器控件的那些控件上。

关于什么可能导致它忽略设置为 false 的原因验证属性的任何想法?

【问题讨论】:

    标签: asp.net validation


    【解决方案1】:

    在我看来,您应该为转发器控件和作为必填字段验证器来源的控件设置不同的 ValidationGroup 属性值。重复控制的容器可能引发了必需的字段验证器可以听到的事件。

    如果上述方法无济于事,请尝试使用EnableClientScript="False" 禁用RequiredFieldValidator 的客户端验证。并在它真正有用时激活RequiredFieldValidator。例如,在某些按钮事件处理程序中,您可以应用这样的代码:

    MyButton.Validate();
    if (MyButton.IsValid)
    {
        Do what you want...
    }
    

    【讨论】:

      【解决方案2】:

      对于遇到此问题并偶然发现这篇文章的任何人,这就是我发现的。

      原来问题正在发生,因为我在中继器上设置了 EnableViewState="false"。这以某种方式破坏了事件回发,并使页面上的每个验证器都被触发。我所要做的就是从 Page_Load() 中手动调用 Repeater 上的 DataBind(),然后它就被清除了。

      【讨论】:

        【解决方案3】:

        尝试在设计视图中始终将面板的可见性设置为真,并再次检查验证。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-01-17
          相关资源
          最近更新 更多