下図のようにリピーターがいます。コード ビハインドでレポート ID を取得する方法 (hiddenContent2 内の式から) ?
式は
<%# Eval("ReportID") %>
注: 「FindControl」を使用しない方法を好みます。
ASP.NET
<asp:Repeater ID="rptReports" runat="server">
<HeaderTemplate>
<div></div>
</HeaderTemplate>
<ItemTemplate>
<div id="repeaterIdentifier" class="repeaterIdentifier">
<div id="reportTitle" class="reportTitle">
<%# Eval("Title") +":" %>
</div>
<div id ="reportFrequency" class="reportFrequency">
<%# " Frequency - "+ Eval("Frequeny") %>
</div>
</div>
<div class="reportContent">
<div class="repeaterLine">
<asp:TextBox ID="txtEmailRecipients" runat="server" class="textEdit" Text='<%# Eval("Recipients")%>' TextMode="MultiLine"></asp:TextBox>
</div>
</div>
<div id="hiddenContent2">
<%# Eval("ReportID") %>
</div>
</ItemTemplate>
</asp:Repeater>
コードビハインド
protected void Save_Click(object sender, EventArgs e)
{
foreach (RepeaterItem item in rptReports.Items)
{
foreach(Control c in item.Controls)
{
string test1 = c.ID;
Type t = c.GetType();
}
string emails = ((TextBox)item.Controls[1]).Text;
}
}