初学C#遇到的一个问题。
我有一个gridview,里面有一个dropdownlist控件和增加删除按钮。
我要完成的效果是通过选择Dropdownlist的选项,将值加入一个checkboxlist里面。
我的代码如下,可是有错误。
     protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
     {             
         int index = ((GridViewRow)(((DropDownList)sender).NamingContainer)).RowIndex;
         DropDownList ddl = GridView1.Rows[index].Cells[2].FindControl("DropDownList1") as DropDownList;
         int n = ddl.Items.Count;
         for (int i = 0; i < n; i++)
         {   if(ddl.Items[i].Selected){
             CheckBoxList1.Items[index].Value = ((DropDownList)sender).SelectedValue;
             CheckBoxList1.Items.Add(ddl.Items[i].Value);
         }
         }      
     }
异常详细信息: System.ArgumentOutOfRangeException: 
索引超出范围。必须为非负值并小于集合大小。
参数名: index
------解决方案--------------------应该是你这一块越界了
C# code
if(ddl.Items[i].Selected)
{
  CheckBoxList1.Items[index].Value = ((DropDownList)sender).SelectedValue;
  CheckBoxList1.Items.Add(ddl.Items[i].Value);
}
------解决方案--------------------
程序是在什么时候发生错误啊,是根本没运行起来,还是运行起来后选择Dropdownlist导致错误呢
错误停在哪一句?
另外   CheckBoxList1里面的项和Dropdownlist1的项内容一样多么
应该是这里的错:
CheckBoxList1.Items[index].Value = ((DropDownList)sender).SelectedValue;
 CheckBoxList1.Items.Add(ddl.Items[i].Value);