ボタンの OnClick イベントで、FooterTemplate 内のテキスト ボックスから値を取得する必要があります。私が最初に考えたのは、リピーターの items-property をループすることでしたが、このサンプルでわかるように、フッター アイテムではなく、実際のデータバインド アイテムのみが含まれています。
ASPX:
<asp:Repeater ID="Repeater1" runat="server">
<ItemTemplate>
Item<br />
</ItemTemplate>
<FooterTemplate>
Footer<br />
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
</FooterTemplate>
</asp:Repeater>
<asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" />
コードビハインド.cs:
protected void Page_Load(object sender, EventArgs e)
{
ListItemCollection items = new ListItemCollection();
items.Add("value1");
items.Add("value2");
Repeater1.DataSource = items;
Repeater1.DataBind();
}
protected void Button1_Click(object sender, EventArgs e)
{
System.Diagnostics.Debug.WriteLine(Repeater1.Items.Count);
}
このコードはカウントとして「2」しか出力しないので、フッターテンプレート内でテキストボックスを参照するにはどうすればよいですか?