小弟想DataGrid控件RepSearch里面找Panel 控件 UserPanel,可就是找不到,到底是怎么回事,帮帮忙啊
private void RepSearch_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
    
Panel editPanel=(Panel)e.Item.FindControl("UserPanel");
if(Request.Cookies["juserId"]==null)
{
editPanel.Visible=false;
}
else 
{
editPanel.Visible=true;
}
}

解决方案 »

  1.   


    前面要加上if(编辑模板列||项模板列)例如:
    if(e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlterItem)
    {
       Panel editPanel=(Panel)e.Item.FindControl("UserPanel");
    if(Request.Cookies["juserId"]==null)
    {
    editPanel.Visible=false;
    }
    else 
    {
    editPanel.Visible=true;
    }
         
    }
      

  2.   

    否则它默认第一次会从HeadTemplate里面找,肯定找不到。
      

  3.   

    if(e.Item.Itemtype ==  ListItemType.AlternatingItem || e.Item.ItemType == ListItemType.AlternatingItem)
    {
      .................
    }not AlterItem
      

  4.   

    alsoif(e.ItemIndex>=0)
    {
       .........
    }