检测checkboxlist检查多个项目
我的复选框列表包含3个项目A,B,C。 如果用户检查某一这正是我想那么用户将获得2马克 其他用户获得0马克检测checkboxlist检查多个项目
我的问题是,每当用户检查超过3项,用户仍然能够得到2-痕迹,而由权利用户应该获得零分,因为用户检查了A,B,C?
因此如何使,如果用户已经在CheckBoxList的检查超过1个框,然后用户将获得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();
好,我想出了答案,感谢您的帮助=)每次检查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);
你需要检查的其他框被取消检查,以及如果你只想要他们得到的标记只有检查的
所以像
if(A==A && B!=B && C!=C){
//get marks
} else {
//no marks
}
如果你只想要一个选择获得标记,那么你应该考虑使用单选按钮而不是复选框。那么只需要检查
if (A == A) { //get marks }
你可以做的另一件事是标签功能与价值它的价值每个复选框
那么当你检查,你会基于奖标志的所有复选框结果检查标签?
Checkbox b = new Checkbox();
b.Tag = markValue;
aiks,所以旁边的复选框没有办法让checkboxlist得到我想要的东西? – 2012-02-02 03:14:10
因为我打算用网格视图加载checkboxlist给用户做网上练习 – 2012-02-02 03:15:00
反正checkbox有同样的问题,一旦复选框被点击,用户还会得到2个标记 – 2012-02-02 03:26:33
ABC只是一个例子,如果我的checkboxlist项目如何超过10? = x – 2012-02-02 03:07:57