声明CheckBox在Validator中显示为Undeclared

时间:2017-06-30 17:58:21

标签: asp.net vb.net gridview checkbox

我收到一条错误消息,指出CheckBox1未声明,但肯定是gridview的早期版本。背景是用户正在批准gridview中的记录。如果记录未获批准,则取消选中该复选框。由于它未获批准,我还想要求用户发表评论,解释原因。 仅在取消选中该复选框时才需要注释。

我试过转移验证器,但我没有运气。有什么我想念的吗? asp.net还是一个新手。后端是vb.net。以下是评论字段。如果需要更多,请告诉我。

错误:

  

未声明'CheckBox1'。由于其保护级别,它可能无法访问。

守则:

<asp:TemplateField HeaderText="Comment">
    <ItemTemplate>
        <asp:TextBox ID="Comment" MaxLength="200" runat="server" Width="500px" Text='<%# Eval("Comment") %>'></asp:TextBox>
        <asp:RegularExpressionValidator 
            Display = "Dynamic" 
            ControlToValidate = "Comment" 
            ID="RegularExpressionValidator" 
            ValidationExpression = "^[a-zA-Z0-9'@&#.\s]{2,200}$"
            runat="server"  
            ForeColor="red" 
            ErrorMessage="!">
        </asp:RegularExpressionValidator>
        <%If CheckBox1.Checked = "False" then%>
            <asp:RequiredFieldValidator id="RequiredFieldValidator" runat="server"
                ControlToValidate="Comment"
                ErrorMessage="*Required"
                ForeColor="Red">
            </asp:RequiredFieldValidator>
        <%Else%>
        <%End If%>
    </ItemTemplate>
</asp:TemplateField>

1 个答案:

答案 0 :(得分:0)

您无法 轻松 根据 客户端的逻辑禁用并启用 RequiredFieldValidator 那边 更不用说那些控件都在GridView中。

我的建议是不要在特定场景中使用RequiredFieldValidator。然后让用户发布表单,并在服务器端验证这些输入。