当前位置:首页 > 行业动态 > 正文

repeater中如何得到html控件

在Repeater控件中获取HTML控件的方法如下:

1、在Repeater控件的ItemTemplate中定义HTML控件,我们可以定义一个Label控件和一个Button控件:

<ItemTemplate>
    <table>
        <tr>
            <td>
                <asp:Label ID="lblName" runat="server" Text='<%# Eval("Name") %>'></asp:Label>
            </td>
            <td>
                <asp:Button ID="btnEdit" runat="server" Text="编辑" OnClick="btnEdit_Click" CommandArgument='<%# Eval("ID") %>' />
            </td>
        </tr>
    </table>
</ItemTemplate>

2、接下来,在Repeater控件的代码后台(Default.aspx.cs)中,为Button控件添加点击事件处理程序:

protected void btnEdit_Click(object sender, EventArgs e)
{
    // 获取Button控件所在的Repeater项(即行)
    RepeaterItem item = (sender as Button).NamingContainer as RepeaterItem;
    // 从Repeater项中获取HTML控件的值
    string name = (item.FindControl("lblName") as Label).Text;
    string id = (item.FindControl("btnEdit") as Button).CommandArgument;
}

3、在需要的地方调用Repeater控件的数据绑定方法,rptDataList.DataBind(),这样,Repeater控件就会根据数据源生成HTML表格,并在每个表格行中显示Label和Button控件,当用户点击Button控件时,可以通过上述方法获取到HTML控件的值。

0