Setting 'OnClick' event for asp .net 'LinkButton' in a 'Repeater'

Posted on 2009-02-11
Last Modified: 2013-11-07

I have a LinkButton in a asp .net repeater. I am able to set the text as desired from the databound field however I am not being able to set the onclick event.

When a user clicks the button in the repeater it needs to call a function in the codebeind and pass along a value that it is also databound.

I have tried a few different syntax and mostly I've gotten errors such 'server tag is not well formed'. The closest I've gotten is given below, however the problem is that when the repeater controls are being rendered and it is rendering the 'onclick' value it actually executes the function that should be called when the user click the button

Any help would be greatly apprecaited.
Code for the linkbuttonn:

<asp:LinkButton ID="LinkButton1" OnClick='<%# auditReport(DataBinder.Eval(Container.DataItem, "erid"))%>'  Text='<%# formatTitle(DataBinder.Eval(Container.DataItem, "title"))%>'  runat="server">LinkButton</asp:LinkButton>

and the function being called:

protected string auditReport(object sender)


        string result = "";

        Session["ERID"] = sender.ToString();


        return result;


Open in new window

Question by:OliShim
    LVL 15

    Expert Comment

    If you are using a Repeater, you'll probably want to use the Repeater_ItemCommand function, and get the ID from there.  Could you paste the code for your repeater?  What are you binding the repeater to?
    LVL 10

    Accepted Solution

    Do it like this.
    Use the Command action from the link button and pass id with the CommandArgument property.

    hope this help.
    <asp:Repeater ID="Repeater1" runat="server">
            <asp:LinkButton ID="LinkButton1" runat="server" OnCommand="LinkButton1_Command" CommandName="MyUpdate" CommandArgument='<%# Eval("erid") %>'>LinkButton</asp:LinkButton>
    protected void LinkButton1_Command(object sender, CommandEventArgs e)
        if (e.CommandName == "MyUpdate"){
            //e.CommandArgument --> contain the erid value
            //Do something

    Open in new window

    LVL 8

    Expert Comment

    Follow jabcoco's idea.

    We cant pass parameter using OnClick event handler.
    You must use OnCommand.


    Featured Post

    Highfive Gives IT Their Time Back

    Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

    Join & Write a Comment

    Suggested Solutions

    In my previous article ( we saw the basics of serialization and how types/objects can be serialized to Binary format. In this blog we wi…
    Introduction This article shows how to use the open source plupload control to upload multiple images. The images are resized on the client side before uploading and the upload is done in chunks. Background I had to provide a way for user…
    This video is in connection to the article "The case of a missing mobile phone (". It will help one to understand clearly the steps to track a lost android phone.
    In this tutorial you'll learn about bandwidth monitoring with flows and packet sniffing with our network monitoring solution PRTG Network Monitor ( If you're interested in additional methods for monitoring bandwidt…

    729 members asked questions and received personalized solutions in the past 7 days.

    Join the community of 500,000 technology professionals and ask your questions.

    Join & Ask a Question

    Need Help in Real-Time?

    Connect with top rated Experts

    23 Experts available now in Live!

    Get 1:1 Help Now