繁体   English   中英

Page.IsValid总是返回false

[英]Page.IsValid always return false

我按钮上的原因验证是真的。 我正在检查c#代码中的Page.IsValid 但它总是返回虚假价值?

我知道为时已晚,希望有人会受益

如果您在网页中有Requiredfieldvalidators ,则需要将validataiongroup属性设置为每个RequiredValidator

然后在代码中你要检查

Page.Validate("validategroupname");
if(!Page.IsValid()){
 // your code
}

这解决了问题

这是一个帮助我调试问题的代码片段:

foreach (BaseValidator validator in Page.Validators)
{
    if (validator.Enabled && !validator.IsValid)
    {
        // Put a breakpoint here
        string clientID = validator.ClientID;
    }
}

在检查其有效状态之前,您是否调用了Page.Validate

如果您的按钮具有CauseValidation = "true"并且您有其他所需的控件,则行为是预期的。 尝试设置CauseValidation = "false"或检查按钮和关联控件的ValidationGroup属性( 解释 )。

使用注释掉的asp.net验证程序发生了这个问题。 例如

<!--
<asp:label id="labName" runat="server" Text="Name"
AssociatedControlID="tbName"></asp:label> <asp:textbox id="tbName"
runat="server"></asp:textbox> <asp:requiredfieldvalidator
id="ReqFieldValID" runat="server" ControlToValidate="tbName"
ErrorMessage="Please enter your name"></asp:requiredfieldvalidator>
-->

尽管在HTML注释中包含了验证器,但由于注释的验证器,我的页面仍然无法通过验证。

解决方案:添加验证摘要以确定问题。 删除注释的验证程序以解决问题。

我知道这可能为时已晚:但你有一个隐藏的验证器吗?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM