2011-07-05 10 views
0

私はdatalistのedittemplateにwebusercontrolを持っています。コードの背後にあるitemCommandで、findcontrolを使用して検索しようとすると、nullオブジェクトが返されます。データリストのedittemplateでユーザコントロールを見つけることができません

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

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

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

WebUserControl cntrl = (WebUserControl)DataList1.FindControl("myControl"); 
+0

あなたのコードの例は有効であるようですが、実際には、より多くの情報なしで決定的な答えが得られません。 – developerdoug

+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"); 
     } 
    } 
+0

私はgridviewを探していません。 – user830113

0

実際には気にしないが、私はheadertemplateにコントロールを移動し、そのコントロールのコレクションを見て、私はにFindControlを使用してコントロールを見つけることができています。私はそれをedititemtemplateに置くのがなぜ見つからないのか分かりません。しかし、おかげで皆さんの助けに感謝します。

関連する問題