private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{  

if(e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
Label LabelTemp = (Label)People.FindControl("Label1");
} if(e.Item.ItemType == ListItemType.EditItem)
{
DropDownList dropTemp = (DropDownList)e.Item.FindContro("DropDownList1");     
}
}

解决方案 »

  1.   

    你给的方法我已经试过了,两个的值都为NULL
      

  2.   

    但确信DataGrid1_ItemDataBound已经执行了
      

  3.   

    这个问题很经典个人签名~~
    =======================================
    虚拟主机 网站空间 域名注册 主机托管  500M+SQL数据库100M 支持asp.net2.0 变态价格:128一年
     支持asp 300M 虚拟主机68一年
     支持asp.net2.0 300M 虚拟主机88一年,快抢拉~~~~~   免费试用~~~  http://www.myidc.info/webhost/stylehost.aspx
      

  4.   

    DropDownList dropTemp = (DropDownList)e.Item.FindContro("DropDownList1");     //这里dropTemp为空__________________
    如果 高歌 所写,你的 dropTemp 处于 EditTemplate 中,只有处理编辑模式才能访问得到,一般是 你设置了 EditIndex 之后,如 myDataGrid.EditIndex = 1,那么 ItemIndex = 1 的这一行 ItemType == ListItemType.EditItem, 才能有 你的 dropTemp 的存在希望能明白~