Template
ご存知のように、ページ/ユーザーコントロール/マスターページに直接配置されたコントロールのように、ベースのコントロール(など)内のコントロール<asp:Repeaters>
に直接アクセスすることはできません。コントロール内の特定のアイテムで「FindControl」を使用してそれを見つけることは可能ですが、もっと簡単な方法があるはずです...
SelectionChanged
この場合、カレンダーコントロールのイベントハンドラーをコードビハインドの関数に設定できるはずです。(これは、組み込みのカレンダーコントロールを使用していることを前提としています)...
<asp:Calendar runat="server" OnSelectionChanged="cal_SelectionChanged"> ... </asp:Calendar>
このようなイベントが呼び出されると、イベントの原因となったオブジェクト(この場合はカレンダーコントロール)がsender
パラメーターを介して関数に渡されます。
これは、どのカレンダーがクリックされたかを調べる代わりに、これを行うことができることを意味します...
cal_SelectionChanged(object sender, EventArgs e)
{
Calendar cal = (Calendar)sender;
date = cal.SelectedDate;
blah blah...
}