リピーターが3人います。それらをR1、R2、R3と呼びましょう。
ではR3
、 で一連のコントロールを作成しますPage_Init
。たとえば、これらのコントロールの 1 つに という名前がありWMC_image
ます。
R2を取得するためにこのコードを使用しています:
Page.FindControl("R1").Controls[1].FindControl("R2")
これはうまくいきます。しかし、R3 を取得するコードを追加すると、次のようになります。
Page.FindControl("R1").Controls[1].FindControl("R2").Controls[1].FindControl("R3")
エラーが発生します:
「System.ArgumentOutOfRangeException: 指定された引数が有効な値の範囲外でした。パラメータ名: インデックス」.
なぜこのエラーが発生するのですか? また、R3 内で HtmlGenericControl を取得するにはどうすればよいですか?
編集: 申し訳ありませんが、R1 のみが Page_Init で DataBind() を埋められることを追加するのを忘れていました。他の 2 つの Repeater は、OnItemDataBound イベントで満たされます。
R1 のすべてのコントロールをループ アウトすると、ヒットが大量に発生します。しかし、自分のサイトでそれらを見ることができても、R2 からは何も得られません。