【发布时间】:2016-07-07 20:42:22
【问题描述】:
有人可以帮我弄清楚如何在我的 aspx 页面上检查多个复选框吗?我发现一些文章展示了如何使用 JavaScript 执行此操作,但我使用的是 VB,但我不确定如何应用它。
我想做的是,一旦用户单击提交按钮,如果没有选中足够多的复选框,它将显示错误。这些不在复选框列表中,而是在单个复选框中。
【问题讨论】:
有人可以帮我弄清楚如何在我的 aspx 页面上检查多个复选框吗?我发现一些文章展示了如何使用 JavaScript 执行此操作,但我使用的是 VB,但我不确定如何应用它。
我想做的是,一旦用户单击提交按钮,如果没有选中足够多的复选框,它将显示错误。这些不在复选框列表中,而是在单个复选框中。
【问题讨论】:
您可以为此使用CustomValidator。
在您的 ASPX 页面中,您将其放入您的控件和验证器中。
<asp:CheckBox ID="CheckBox1" runat="server" />
<asp:Label AssociatedControlID="CheckBox1" runat="server">Check this box!</asp:Label>
<asp:CheckBox ID="CheckBox2" runat="server" />
<asp:Label AssociatedControlID="CheckBox2" runat="server">And this box!</asp:Label>
<asp:CustomValidator ID="CustomValidator1" runat="server"
ErrorMessage="You must check all of the boxes"
OnServerValidate="CustomValidator1_ServerValidate">
</asp:CustomValidator>
在此之后,您可以通过检查ServerValidate 事件来检查他们是否点击了提交。
Protected Sub CustomValidator1_ServerValidate(ByVal source As Object, ByVal args As System.Web.UI.WebControls.ServerValidateEventArgs) Handles CustomValidator1.ServerValidate
args.IsValid = True ' set default
If Not CheckBox1.Checked Then
args.IsValid = False
End If
If Not CheckBox2.Checked Then
args.IsValid = False
End If
End Sub
ServerValidateEventArgs 将允许您指定用户是否符合您的条件。
ServerValidate事件结束时,会返回IsValid属性中设置的值,判断是否有效。
【讨论】: