DataGrid Item.FindControl找不到控件? (ASP.NET)

时间:2011-04-06 10:12:10

标签: asp.net findcontrol

Label lbl = dgi.FindControl("LBL_MyLabel") as Label; 

这大部分时间都有效,但有时在调用FindControl后lbl为null。我想知道这是怎么发生的。它应该在那里?有什么想法吗?

标签的定义如下:

<asp:Label ID="LBL_MyLabel" runat="server"></asp:Label>

谢谢: - )

1 个答案:

答案 0 :(得分:1)

围绕调用FindControl的代码的更广泛背景是什么?迭代遍历网格中的行(例如在RowDataBound事件中)而不会有条件地检查行类型是什么时,通常会遇到此错误:

if (e.row.RowType == DataControlRowType.DataRow)
{
  // your code
}

将其包含在该条件中将跳过页眉/页脚行,这些行可能没有标签控件。