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

这在大多数情况下都有效,但有时在调用 FindControl 后 lbl 为空。我想知道这怎么会发生。它应该存在还是不存在?有任何想法吗?

标签定义如下:

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

谢谢 :-)

4

1 回答 1

1

围绕调用的代码的更广泛上下文是FindControl什么?RowDataBound在没有条件检查行类型是什么的情况下迭代网格中的行(例如在事件中)时,通常会遇到此错误:

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

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

于 2011-04-06T10:17:59.560 回答