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>
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") %>'
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
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
}