我的复选框列表包含3个项目A,B,C。 如果用户检查A是我想要的,那么用户将获得2个标记 其他用户获得0分
我的问题是,每当用户检查超过3个项目时,用户仍然可以获得2个标记,而权利用户应该获得零标记,因为用户选中了A,B,C?
那么如果用户在checkboxlist中检查了多个方框,那么用户将获得0分
例如
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();
答案 0 :(得分:1)
如果您只想要一个选择来获得标记,那么您应该考虑使用单选按钮而不是复选框。那你只需要检查
if ( A == A) { //get marks }
你可以做的另一件事是用价值
标记每个复选框然后当您检查所有复选框的结果时,您将根据选中的标签奖励标记?
Checkbox b = new Checkbox();
b.Tag = markValue;
答案 1 :(得分:0)
你需要检查其他方框是否也未经检查过,如果你只想让它们获得仅用于检查A的标记
类似
if(A==A && B!=B && C!=C){
//get marks
} else {
//no marks
}
答案 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);