当前位置:编程学习 > C#/ASP.NET >>

高手帮忙[索引超出范围。必须为非负值并小于集合大小。]

case 1:
                SqlDataAdapter myadapter3 = new SqlDataAdapter("select id,que_answer,marks"
                    + " from tb_Questions where que_type='单选题' and que_lessonid='"
                    + dd2 + "'and que_professionid='" + dd1 + "'order by id desc", con);
                DataSet myds3 = new DataSet();
                myadapter3.Fill(myds3);
                DataRow[] row1 = myds3.Tables[0].Select();
                foreach (DataRow answer1 in row1)
                {
                    int_row1 += 1;
                    RadioButtonList rbl1 = (RadioButtonList)(DataList1.Items[int_row1 - 1].FindControl("RadioButtonList1")); //此处出现错误                    if (rbl1.SelectedValue == "")
                    {
                        this.lblSel.Text = "单选题:0分";
                        pp = DataList1.Items.Count;
                    }
                    else
                    {
                        if (answer1["que_answer"].ToString().Trim() == rbl1.SelectedValue.ToString().Trim())
                        {
                            //int_row1Point += 40 / DataList1.Items.Count;
                            int_row1Point += int.Parse(answer1["marks"].ToString().Trim());
                            int_count += 1;
                            pp = DataList1.Items.Count;
                            this.lblSel.Text = "单选题:" + int_row1Point.ToString() + "分";
                        }
                    }
                }
                break;



索引超出范围。必须为非负值并小于集合大小。
参数名: index 
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 

异常详细信息: System.ArgumentOutOfRangeException: 索引超出范围。必须为非负值并小于集合大小。
参数名: index

高手指点。。。 --------------------编程问答-------------------- 看DataList1.Items.Count有多少行再找 --------------------编程问答--------------------
row1.Count=0;
所以超出索引
加入判断
if(row1.Count>0)
{
//
}
--------------------编程问答-------------------- 请问你的 int_row1 在哪里定义的?初始值是多少?
  --------------------编程问答-------------------- [int_row1 - 1]这里有错 --------------------编程问答-------------------- int_row1一定是0,断点跟踪一下
补充:.NET技术 ,  ASP.NET
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,