Search code examples
c#asp.netdata-bindingwebforms

set an extra property for LinkButton in a repeater in ASP.NET


I have a repeater that has a linked button inside it. I want to get some data in linked button click event. how should I set my extra data and get them in click event? (consider that i want to concat some items in my property)

aspx code:

<asp:Repeater ID="rpSliderRest" runat="server">
    <ItemTemplate>
        <!-- ITEM-->
        <div class="span2">
            <div class="thumbnail product-item">
                <img src='<%#   Eval("PrintTemplate_URL").ToString().Replace("~", "../..") %>'>
            </div>
            <h6><%# Eval("PrintTemplate_Desc") %></h6>
            <asp:LinkButton ID="lbtn1" runat="server" class="btn btn-large btn-block" OnClick="LinkButton1_Click"
                Prperty='<%# string.Format("{0};{1}",Eval("PrintTemplate_URL").ToString(),Eval("PrintTemplate_ID").ToString()) %>'>Select »</asp:LinkButton>
        </div>
        <!-- ITEM-->
    </ItemTemplate>
</asp:Repeater>

aspx.cs code:

protected void LinkButton1_Click(object sender, EventArgs e)
{
    LinkButton lbtn = sender as LinkButton;
    string MyProperty=??????????
}

Solution

  • You can use the Attributes collection.

    For example:

    protected void LinkButton1_Click(object sender, EventArgs e)
    {
        LinkButton lbtn = sender as LinkButton;
        String MyProperty = lbtn.Attributes["PropertyName"];
    }