//核对多选题答案
            case 4:
                SqlDataAdapter myadapter4 = new SqlDataAdapter("select id,que_answer"
                    + " from tb_Questions where que_type='多选题'and que_lessonid='"
                    + dd1 + "'and que_taotiid='" + dd2 + "'order by id desc", con);
                DataSet myds4 = new DataSet();
                myadapter4.Fill(myds4);
                DataRow[] row2 = myds4.Tables[0].Select();
                //计算多选题成绩
                foreach (DataRow answer2 in row2)
                {
                    int_row2 += 1;
                   if (introw2 <= DataList2.Items.Count)
                   {
                    CheckBoxList cbl = (CheckBoxList)(DataList2.Items[int_row2 - 1].FindControl("CheckBoxList1"));
                    if (cbl.SelectedValue == "")
                    {
                        lblDSel.Text = "多选题:0分";
                    }
                    else
                    {
                        for (int q = 0; q < cbl.Items.Count; q++)
                        {
                            if (cbl.Items[q].Selected == true)
                            {
                                this.TextBox1.Text = TextBox1.Text.Trim() + cbl.Items[q].Value + ", ";
                            }
                        }
                        if (answer2["que_answer"].ToString().Trim() + "," == this.TextBox1.Text.Trim())
                        {
                            int_row2Point += 60 / DataList2.Items.Count;
                            this.lblDSel.Text = "多选题:" + int_row2Point.ToString() + "分";
                        }
                    }
                  }
                }
                break;

解决方案 »

  1.   

    单步调试看看int_row2 值
    foreacg(DatalistItem item in DataList2.Items){}
      

  2.   

    找到问题了,
     if (answer2["que_answer"].ToString().Trim() + "," == this.TextBox1.Text.Trim())
      {
      int_row2Point += 60 / DataList2.Items.Count;
      this.lblDSel.Text = "多选题:" + int_row2Point.ToString() + "分";
      }
    在这后面加一句清空变量的语句: this.TextBox1.Text=“”;