ラベルがリピーターのOnItemDataBoundイベントを介してのみアクセスできるのはなぜですか?

StackOverflow https://stackoverflow.com/questions/1206435

  •  05-07-2019
  •  | 
  •  

質問

リピーターのアイテムテンプレート内にラベルがある場合、repeater.Items [0] .FindControl(" label")を介してアクセスしようとすると、ラベルはnullになります。実際、1つのitemtemplateがありますが、Itemsは0です。 OnItemDataBoundイベントを使用するまで、e引数を介してコントロールを見つけることができません。私は単にrepeater.Items [0] .FindControl(" label")を使用するのではなく、OnItemDataBoundイベントを使用する必要がある理由について興味があります。誰かがこれを説明できますか?

役に立ちましたか?

解決

リピーター用のテンプレートを作成すると、実行時に挿入するものをリピーターに伝えるだけです。これらのコントロールは、テンプレートの一部ではない場合と同じように初期化されません。

テンプレート内のコントロールは、リピーターがデータバインドされているときに作成されます。このため、リピーターのライフサイクルのその時点までアクセスできません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top