web-dev-qa-db-fra.com

Exécuter un code derrière une routine à partir d'un <a href

J'ai un lien qui ressemble à un bouton de ce code HTML

<p class="link-styleContact"><a href="#"><span>Email Contact Form</span></a></p>

puis-je exécuter un code derrière le fichier lorsque l'utilisateur clique dessus en ajoutant le nom de la routine à la commande href? comme ci-dessous

<p class="link-styleContact"><a href="ContactFormClicked" 
    runat="server"><span>Email Contact Form</span></a></p>
8
dinotom

Vous pouvez utiliser le contrôle LinkButton à la place et vous abonner à l'événement Click.

Il apparaîtra sous forme de lien dans le navigateur et vous pourrez insérer votre code dans le gestionnaire d'événements.

aspx:

<asp:LinkButton id="myLink" Text="Hi" OnClick="LinkButton_Click" runat="server"/>

Code derrière (VB.NET):

Sub LinkButton_Click(sender As Object, e As EventArgs) 
   ' Your code here
End Sub

Code derrière (C #):

void LinkButton_Click(Object sender, EventArgs e) 
{
   // your code here
}

Vous pouvez également utiliser le contrôle HtmlAnchor et définir le gestionnaire d'événements ServerClick. Il s’agit essentiellement de l’élément a avec un attribut runat="server":

aspx:

<a id="AnchorButton" onserverclick="HtmlAnchor_Click" runat="server">
     Click Here
</a>

Code derrière (VB.NET):

Sub HtmlAnchor_Click(sender As Object, e As EventArgs)
   ' your code here
End Sub

Code derrière (C #):

  void HtmlAnchor_Click(Object sender, EventArgs e)
  {
     // your code here
  }
20
Oded

Vous pouvez utiliser le LinkButton control et gérer l’événement Click .

1
Uwe Keim

Si vous voulez vous en tenir à la balise <a> spécifiquement, alors quelques options:

Vous pouvez utiliser <a href="http://example.com" onclick="return foo()">, où foo() est une fonction javascript.

Vous pouvez également utiliser l'événement onload de la page pour le gérer, comme suit:

<a href="http://example.com?e=foo">, puis dans l'événement pageload (), procédez comme suit: ...if request.querystring("e") = "foo" then...

Mais sinon, comme d'autres l'ont suggéré, le contrôle <asp:linkbutton> est un bon choix.

0
Chains