请教高手,怎样获得DataGrid模板列的内容?(在private void DataGrid1_DeleteCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)事件方法中)DataGrid的列中,其中的一个列为模板列,显示的内容为Label文本,用e.Item.Cell[0].Text获得的文本内容为空(用e.Item.Cell[1].Text来获得绑定列的文本内容是正常的),用((Label)e.Item.Cell[0].Controls[1]).Text也不行,怎么解决呢?请高手帮忙

解决方案 »

  1.   

    试试我的:
    dataGrid1.Items[e.Item.ItemIndex].Cells[0].Text;
      

  2.   

    try 
    ((Label)e.Item.FindControl("yourLabel")).Text;
      

  3.   

    同意  athossmth(athos) 的
      

  4.   

    上面两个方法以前试过,都没有作用,如果((Label)e.Item.Cell[1].Controls[1]).Text = "xxx"倒是可以获得值不知何解郁闷ing...
      

  5.   

    用findcontrol肯定可以找到该lable的,Label lb=(Label)e.Item.FindControl("yourLabel");
    if(lb!=null)
    Response.Write(lb.Text);没找到可能是因为该行为header或footer,没有这个label。
      

  6.   

    找到原因了,我的模板列中Label是这样写的:<asp:Label Runat="server"><%# GetName(DataBinder.Eval(Container.DataItem, "Name")) %></asp:Label>,如果写为::<asp:Label Runat="server" Text='<%# GetName(DataBinder.Eval(Container.DataItem, "Name")) %>'></asp:Label>就没问题了,用   zachary7833(潜龙勿用to飞龙在天) || athossmth(athos)  朋友的方法都可以遇到相似问题的朋友们可以参考一下thanks!!!
      

  7.   

    sorry,用  zachary7833(潜龙勿用to飞龙在天) 的不行,应该是用((Label)e.Item.Cells[0].Controls[1]).Text;或((Label)e.Item.FindControl("yourLabel")).Text;
    都可以