检索转发器asp.net中标签的text属性

时间:2016-04-25 16:16:21

标签: c# asp.net

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>

2 个答案:

答案 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;