gridwiew组件中,在columns列中写了一个dropdownlist,可是在dropdownlist的onload事件中无法引用dropdownlist的id.
DropDownList drorole =(DropDownList)FindControl("DropDownList1");drorole.DataSource = Roles.GetAllRoles();
drorole.DataBind();则提示:未将对象引用设置到对象的实例如果dropdownlist不是在gridview中,则上面的代码没问题.谢谢!

解决方案 »

  1.   

    你不能在gridwiew里FindControl(),要在gridwiew的单元格里FindControl().
      

  2.   

    对,而且这样调用是不安全的,
    DropDownList drorole =(DropDownList)gridwiewID.FindControl("DropDownList1");
    if(drorole !=null)
    {
    drorole.DataSource = Roles.GetAllRoles();
    drorole.DataBind();
    }
      

  3.   

    直接((DropDownList)(GridView1.Rows[1].Cells[1].Controls[1])).SelectedItem.Text
      

  4.   

    问题是我不能确定gridview的单元格,
    gridview绑定用户数据库.
    这一列显示一个dropdownlist,然后显示该行用户的所在组.
      

  5.   

    DropDownList drorole = (DropDownList)GridView1.Rows[3].Cells[1].FindControl("DropDownList1");
    drorole.DataSource = Roles.GetAllRoles();
    drorole.DataBind();这样是通过了,可是如何在dropdownlist的onload事件中确定当前的行数呢?