Here's how the repeater looks now就asp.net而言,我是业余爱好者。我试图做的是我的页面中有一个转发器控件,设置为在选择单选按钮列表中的项目时显示数据。
到目前为止,这一切都很好,接下来我要做的是:
我想在转发器中单击按钮时检索lblId的文本。我不知道如何实现这一目标。任何帮助都会很有意义。
以下是代码:
<asp:Repeater ID="Repeater1" runat="server"
DataSourceID="SqlDataSourceHolidays" Visible="False" >
<ItemTemplate>
<table style="border: 1px solid #A55129; background-color: #FFF7E7">
<tr>
<td style="width: 200px">
<asp:Image ID="imgEmployee" ImageUrl='<%# Eval("h_description")%>'
runat="server" />
</td>
<td style="width: 200px">
<table>
<tr>
<td>
<b>Id:</b>
</td>
<td>
<asp:Label ID="lblId" runat="server" Text='<%#Eval("h_id") %>'>
</asp:Label>
</td>
</tr>
<tr>
<td>
<b>Name:</b>
</td>
<td>
<asp:Label ID="lblName" runat="server" Text='<%#Eval("h_name") %>'>
</asp:Label>
</td>
</tr>
<tr>
<td>
<b>Duration:</b>
</td>
<td>
<asp:Label ID="lblGender" runat="server" Text='<%#Eval("h_duration") %>'>
</asp:Label>
</td>
</tr>
<tr>
<td>
<b>Price:</b>
</td>
<td>
<asp:Label ID="lblCity" runat="server" Text='<%#Eval("h_price") %>'>
</asp:Label>
<asp:Button ID="Buttonbook" runat="server" Text="Button"
OnClick = "Buttonbook_Click" CommandArgument = '<%# Eval("h_id") %>' />
</td>
</tr>
</table>
</td>
</tr>
</table>
</ItemTemplate>
</asp:Repeater>
答案 0 :(得分:0)
指定您是否需要特定行或整个列表,如果您需要检查所有项目,可以在buttonclick事件中使用foreach cicle
foreach (RepeaterItem item in Repeater1.Items)
{
var MyLabel = (Label) item.FindControl("lblId");
string labelText = Mylabel.Text;
}
答案 1 :(得分:0)
您必须在按钮点击事件中写下以下逻辑
var button = (Button)sender;
var item = (RepeaterItem)button.NamingContainer;
var lblName = item.FindControl("lblName") as Label;