Repeater项目命令导致验证

时间:2011-01-25 10:57:08

标签: asp.net validation

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

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

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

3 个答案:

答案 0 :(得分:1)

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

如果上面提到无法帮助,请尝试使用EnableClientScript="False"禁用RequiredFieldValidator的客户端验证。并且当它确实有用时激活RequiredFieldValidator。例如,在某个按钮事件处理程序中,您可以应用此类代码:

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

答案 1 :(得分:1)

对于任何遇到此问题而且在这篇文章中发现的人,这就是我找到的。

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

答案 2 :(得分:0)

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