在DataListItemDataBound事件中,
Label lab=(Label)e.Item.FindControls("labTitle")
为什么老是"未将对象引用设置到对象的实例"这样的错误,谢谢

解决方案 »

  1.   

    Label lab=(Label)e.Item.FindControls("labTitle");
    if( lab != null )
    {
    再使用}
      

  2.   

    应该是没有找到控件吧,楼主做个判断
    private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
    {
    if(e.Item.ItemType==ListItemType.Item||e.Item.ItemType==ListItemType.AlternatingItem)
    {
    Label lb=(Label)e.Item.FindControl("lblIntro");
    if(lb.Text.Length>60)
    {
    lb.Text=lb.Text.Substring(0,50);
    }
    }
    }
      

  3.   

    1、是否是用的循环语句?
    2、你将“e”换成的名称试试。
    3、请确保“babTitle”一定存在。
      

  4.   

    Web页面无法保持页面状态,所以你可以试试在取值之前再赋一次值。如果没有错误,那就可以考虑如何不让DataList值丢失。
      

  5.   

    我狂晕,发了几次都发不出去.
    再狂晕啊,在DataItemBound事件中,除了Label控件找不到,其它的都能找到啊
      

  6.   

    Label控件,确实有没有控件。