質問 1 については、次のいずれかを実行できます。
- リピーターを公開する (質問 3 を参照) または
- データソースを公開する
個人的には最後の選択肢に賛成です
データバインディング オプションについては、組み込みのデータバインド メソッドを公開するか、ソースが設定されているときにデータバインドするかを選択できます。
データソースの公開は次のように行うことができます
public static object RepeaterDataSource {
get { return repeater.DataSource; }
set { repeater.DataSource = value; }
}
または、データバインディングのように、設定時に操作できるように設定するメソッドを作成します。
質問 2: 実際のバインドは常にリピーターがある場所で行われます。OnItemDataBound ハンドラーが必要な場合は、バインド元に関係なく、ユーザー コントロールのコード ビハインドにあります。ただし、それも公開できますが、そうする理由はありません。
質問 3: ID が必要な場合は、クライアント ID と仮定します。このようなものでそれを得ることができます
public static string RepeaterClientID {
get { return theRepeater.ClientID; }
}
それがあなたの本当の意味かどうかはわかりませんが。代わりに参照が必要な場合は、
public static Repeater TheRepeater {
get { return theRepeater; }
set { theRepeater = value; }
}
最後に、質問に対する他の回答を受け入れるか、それらを完全に削除します。あなたの受け入れ率は非常に低いです。