0

データリストの編集テンプレートに webusercontrol があります。コード ビハインドの itemCommand で、findcontrol を使用して検索しようとすると、null オブジェクトが取得されます。

私が間違っているのは何ですか?

WebUserControl cntrl = (WebUserControl)e.Item.FindControl("myControl");

または、DataListのEditTemplate内にユーザーコントロールを保持しているため、EditCommandイベントで以下も試しました:

WebUserControl cntrl = (WebUserControl)DataList1.FindControl("myControl");
4

2 に答える 2

0

おそらく次のようなことをしていると思います:

    protected void gridView_rowDataBound(Object sender, GridViewRowEventArgs e)
    {
        WebUserControl cntrl = (WebUserControl)e.Item.FindControl("myControl");
    }

ヘッダー行とフッター行を含め、すべての行を表示することに注意してください。

これが必要だと思います:

    protected void gridView_rowDataBound(Object sender, GridViewRowEventArgs e)
    {
       if (e.Row.RowType == DataControlRowType.DataRow){
            WebUserControl cntrl = (WebUserControl)e.Item.FindControl("myControl");
       }
    }
于 2011-07-05T20:01:20.917 に答える
0

実際には気にしないでください。コントロールを headertemplate に移動し、そのコントロール コレクションを確認すると、FindControl を使用してコントロールを見つけることができます。edititemtemplate に配置すると見つからない理由がわかりません。しかし、ありがとうみんなあなたの助けに感謝します.

于 2011-07-06T11:26:28.707 に答える