LinkButton Send Value to Code Behind OnClick

atrljoe picture atrljoe · Mar 21, 2011 · Viewed 125.9k times · Source

I have a ASP LinkButton Control and I was wondering how to send a value to the code behind when it is clicked? Is that possible with this event?

<asp:LinkButton ID="ENameLinkBtn" runat="server" 
    style="font-weight: 700; font-size: 8pt;"
    onclick="ENameLinkBtn_Click" ><%# Eval("EName") %></asp:LinkButton>

Answer

Kelsey picture Kelsey · Mar 21, 2011

Just add to the CommandArgument parameter and read it out on the Click handler:

<asp:LinkButton ID="ENameLinkBtn" runat="server" 
    style="font-weight: 700; font-size: 8pt;" CommandArgument="YourValueHere" 
    OnClick="ENameLinkBtn_Click" >

Then in your click event:

protected void ENameLinkBtn_Click(object sender, EventArgs e)
{
    LinkButton btn = (LinkButton)(sender);
    string yourValue = btn.CommandArgument;
    // do what you need here
}   

Also you can set the CommandArgument argument when binding if you are using the LinkButton in any bindable controls by doing:

CommandArgument='<%# Eval("SomeFieldYouNeedArguementFrom") %>'