Frage

Ich habe einige Codes zu sehen, in denen Menschen Parameter durch Command Eigentum von Web-Pass control.then was ist die Verwendung von EventArgs.

War es hilfreich?

Lösung

Dies kann nützlich sein, wenn Sie die gleiche Methode Eventhandler für verschiedene Tasten haben. Nehmen wir an, Ihr Markup sieht wie folgt aus:

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

Sie können den gleichen Event-Handler für beide Tasten und differenzieren sich auf der Grundlage der Command:

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;
           }
}

Quelle: aspnet-passing-Parameter-in-Taste-Click-Handler

Andere Tipps

Verschiedene Button-Typ Steuerelemente in .NET haben eine OnCommand Veranstaltung sowie ein OnClick Ereignis. Wenn das OnCommand Ereignis verwenden, haben Sie zusätzliche Parameter, die Sie auf die Schaltfläche wie CommandName und CommandArgument anwenden können. Diese können dann in den CommandEventArgs zugegriffen werden.

Es ist sinnvoll, in Orte, wo man die gleiche Methode, um mehrere Tasten zuweisen möchten, und die CommandName und CommandArgument Parameter verwenden, um anzuzeigen, welche Funktionen diese Schaltfläche klicken, wird produzieren.

Die EventArgs Klasse ist eine Basisklasse. Andere Web-Methoden verwenden, um anderes Ereignis args.

z. ein Linkbutton hat ein OnClick-Ereignis mit einem Standard-EventArgs-Parametern, aber es hat auch ein On-Command Ereignis, das einen CommandEventArgs : EventArgs Parameter annimmt, das einige zusätzliche Informationen hat (nämlich Command & Command).

Die Veranstaltung args Basisklasse ist gerade dort als Platzhalter, so dass alle Eventhandler zu einer ähnlichen Signatur entsprechen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top