C# 检测复选框列表检查了多个项目
我的复选框列表包含3项A、B、C。 如果用户检查A,这是我想要的,那么用户将获得2分 否则用户获得0分 我的问题是,每当用户检查超过3项时,用户仍然可以获得2分,而根据权限,用户应该获得零分,因为用户检查了A、B、C 那个么,若用户在复选框列表中选中了超过1个复选框,那个么用户将获得0分 范例C# 检测复选框列表检查了多个项目,c#,C#,我的复选框列表包含3项A、B、C。 如果用户检查A,这是我想要的,那么用户将获得2分 否则用户获得0分 我的问题是,每当用户检查超过3项时,用户仍然可以获得2分,而根据权限,用户应该获得零分,因为用户检查了A、B、C 那个么,若用户在复选框列表中选中了超过1个复选框,那个么用户将获得0分 范例 if(A==A){ //user obtain 2 marks }else{ //user obtain 0 marks } dtr = cmd.ExecuteReader(); if
if(A==A){
//user obtain 2 marks
}else{
//user obtain 0 marks
}
dtr = cmd.ExecuteReader();
if (dtr.Read())
{
if (dtr["Answer"].ToString() == CheckBoxList1.Text.ToString())
{
Label2.Text = "2 marks";
}
else
{
Label2.Text = "0 marks";
}
}
else
{
Response.Write("db not read");
}
dtr.Close();
如果您只想让其他复选框获得仅用于选中某个复选框的标记,则需要选中未选中的复选框 大概是
if(A==A && B!=B && C!=C){
//get marks
} else {
//no marks
}
<>如果你只希望一个选择得到标记,那么你应该考虑使用单选按钮而不是复选框。那你只需要检查一下
if ( A == A) { //get marks }
您可以做的另一件事是在每个复选框上标记其值
然后,当您选中所有复选框的结果时,您是否会根据选中的标记授予分数
Checkbox b = new Checkbox();
b.Tag = markValue;
好的,我找到了答案,谢谢帮助=)每检查一次,选中的numSelected将增加1,一旦numSelected超过2,用户将得到0马克
int numSelected = 0;
foreach (ListItem li in CheckBoxList1.Items)
{
if (li.Selected)
{
numSelected = numSelected + 1;
}
}
Response.Write("Total Number Of CheckBoxes Selected:");
Response.Write(numSelected);
ABC只是一个例子,如果我的复选框列表项超过10,该怎么办=xaiks,所以在复选框旁边,checkboxlist没有办法得到我想要的?因为我计划使用grid view加载checkboxlist供用户在线练习。无论如何,复选框也有同样的问题,一旦单击另一个复选框,用户仍将获得2分