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

これはほとんどの場合機能しますが、FindControl が呼び出された後に lbl が null になることがあります。これがどのように起こるのか疑問に思っています。あるべきか、ないべきか?何か案は?

ラベルは次のように定義されます。

<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 に答える