我收到一条错误消息,指出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>
答案 0 :(得分:0)
您无法 轻松 根据 客户端的逻辑禁用并启用 RequiredFieldValidator 那边 更不用说那些控件都在GridView中。
我的建议是不要在特定场景中使用RequiredFieldValidator。然后让用户发布表单,并在服务器端验证这些输入。