asp.net: comment utiliser eventargs pour la transmission de paramètres sur un bouton onclick?

StackOverflow https://stackoverflow.com/questions/830152

Question

J'ai vu un code dans lequel des personnes transmettent un paramètre via commandParameter, propriété de Web control.then, quelle est l'utilisation de eventargs.

Était-ce utile?

La solution

Cela peut être utile si vous utilisez la même méthode EventHandler pour différents boutons. Exemple, supposons que votre balisage ressemble à ceci:

<asp:Button ID="button1" runat="server" CommandArgument="MyVal1"
   CommandName="ThisBtnClick" OnClick="MyBtnHandler" />
<asp:Button ID="button2" runat="server" CommandArgument="MyVal2"
   CommandName="ThatBtnClick" OnClick="MyBtnHandler" />

Vous pouvez utiliser le même gestionnaire d'événements pour les deux boutons et différencier en fonction du nom de commande:

protected void MyBtnHandler(Object sender, EventArgs e)
{
     Button btn = (Button)sender;
          switch (btn.CommandName)
          {
                case "ThisBtnClick":
                    DoWhatever(btn.CommandArgument.ToString());
                    break;
                case "ThatBtnClick":
                    DoSomethingElse(btn.CommandArgument.ToString());
                    break;
           }
}

Source: Paramètres de passage d'aspnet dans le gestionnaire de clics de bouton

Autres conseils

Divers contrôles de type Button dans .NET ont un événement OnCommand ainsi qu'un événement OnClick . Lorsque vous utilisez l'événement OnCommand , vous disposez de paramètres supplémentaires que vous pouvez appliquer au bouton, tels que NomCommande et CommandArgument . Celles-ci sont ensuite accessibles dans CommandEventArgs .

Il est utile dans les endroits où vous souhaitez attribuer la même méthode à plusieurs boutons et utiliser les paramètres NomCommande et CommandArgument pour indiquer la fonctionnalité que ce bouton produira.

La classe EventArgs est une classe de base. D'autres méthodes Web utilisent d'autres arguments Event.

par exemple. un LinkButton a un événement OnClick avec un paramètre EventArgs par défaut, mais également un événement OnCommand qui prend un paramètre CommandEventArgs: EventArgs qui contient des informations supplémentaires (à savoir CommandName & amp; CommandArgument).

La classe de base des arguments d'événement est présente uniquement en tant qu'espace réservé afin que tous les gestionnaires d'événements se conforment à une signature similaire.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top