Asp.net 使用C检查是否至少选中了一个复选框#

Asp.net 使用C检查是否至少选中了一个复选框#,asp.net,checkbox,customvalidator,Asp.net,Checkbox,Customvalidator,我有一个使用自定义验证器的web表单(将文本框边框设置为红色),我想检查八个复选框中的至少一个是否已被选中(可能还将复选框的边框设置为红色) 由于我有一组if语句确保每个复选框返回true或false,我想我可以添加一个计数器,如果计数器等于0,则将Page.IsValid设置为false。这个主意行不通。看起来无法直接设置Page.IsValid 然后我想将计数器值弹出到一个隐藏字段中并进行验证,但我似乎无法获得在隐藏字段上使用自定义验证器的正确语法 这方面的最佳解决方案是什么 谢谢你怎么了c

我有一个使用自定义验证器的web表单(将文本框边框设置为红色),我想检查八个复选框中的至少一个是否已被选中(可能还将复选框的边框设置为红色)

由于我有一组if语句确保每个复选框返回true或false,我想我可以添加一个计数器,如果计数器等于0,则将Page.IsValid设置为false。这个主意行不通。看起来无法直接设置Page.IsValid

然后我想将计数器值弹出到一个隐藏字段中并进行验证,但我似乎无法获得在隐藏字段上使用自定义验证器的正确语法

这方面的最佳解决方案是什么


谢谢

你怎么了
customvalidator
?你所需要的只是


protected void validateCheckBoxes_ServerValidate(object source, ServerValidateEventArgs args)
{
   if(!CheckBox1.Checked && !CheckBox2.Checked && !CheckBox3.Checked)
      args.IsValid = false;
   else
      args.IsValid = true;
}


if表示“如果没有选中任何复选框,那么我们就有问题了。”

您有什么问题
customvalidator
?你所需要的只是


protected void validateCheckBoxes_ServerValidate(object source, ServerValidateEventArgs args)
{
   if(!CheckBox1.Checked && !CheckBox2.Checked && !CheckBox3.Checked)
      args.IsValid = false;
   else
      args.IsValid = true;
}


if表示“如果没有选中任何复选框,那么我们就有问题了。”

复选框是动态创建的,或者是一个固定的数字?为什么要将复选框编织到验证器中使事情变得复杂?只需按照您当前所做的操作,如果它不能满足您的需求,只需退出并返回某种消息即可。或者,我遗漏了什么吗?复选框是动态创建的还是一个固定的数字?为什么要通过将复选框编织到验证器中使事情变得复杂?只需按照您当前所做的操作,如果它不能满足您的需求,只需退出并返回某种消息即可。或者,我遗漏了什么?回答得好。我完全忘记了CustomValidator。回答得好。我完全忘记了CustomValidator。