asp.net: Wie EventArgs für Parameter verwenden auf die Schaltfläche vorbei Onclick?
-
06-07-2019 - |
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.
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;
}
}
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.