web-dev-qa-db-fra.com

LinkButton Envoyer une valeur au code derrière OnClick

J'ai un contrôle ASP LinkButton et je me demandais comment envoyer une valeur au code derrière quand il est cliqué? Est-ce possible avec cet événement?

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

Ajoutez simplement le paramètre CommandArgument et lisez-le dans le gestionnaire Click:

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

Ensuite, dans votre événement de clic:

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

Vous pouvez également définir l'argument CommandArgument lors de la liaison si vous utilisez LinkButton dans n'importe quel contrôle pouvant être lié en procédant comme suit:

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

Ajoutez un attribut CommandName et éventuellement un attribut CommandArgument à votre contrôle LinkButton. Définissez ensuite l'attribut OnCommand sur le nom de votre gestionnaire d'événements Command.

<asp:LinkButton ID="ENameLinkBtn" runat="server" CommandName="MyValueGoesHere" CommandArgument="OtherValueHere" 
          style="font-weight: 700; font-size: 8pt;" OnCommand="ENameLinkBtn_Command" ><%# Eval("EName") %></asp:LinkButton>

<asp:Label id="Label1" runat="server"/>

Ensuite, il sera disponible lorsque dans votre gestionnaire:

protected void ENameLinkBtn_Command (object sender, CommandEventArgs e)
{
   Label1.Text = "You chose: " + e.CommandName + " Item " + e.CommandArgument;
}

Plus d'informations sur MSDN

3
Ken Pespisa

Essayez de récupérer la propriété text du bouton de lien dans le code derrière:

protected void ENameLinkBtn_Click (object sender, EventArgs e)
{
   string val = ((LinkButton)sender).Text
}
1
Hopdizzle