私は人々がウェブコントロールのcommandParameterプロパティを介してパラメータを渡すいくつかのコードを見ました。それからeventargsの使用は何ですか。
3 に答える
これは、異なるボタンに同じ EventHandler メソッドがある場合に役立ちます。たとえば、マークアップが次のようになっているとします。
<asp:Button ID="button1" runat="server" CommandArgument="MyVal1"
CommandName="ThisBtnClick" OnClick="MyBtnHandler" />
<asp:Button ID="button2" runat="server" CommandArgument="MyVal2"
CommandName="ThatBtnClick" OnClick="MyBtnHandler" />
両方のボタンに同じイベント ハンドラーを設定し、CommandName に基づいて区別することができます。
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;
}
}
.NET のさまざまなボタン型コントロールには、OnCommand
イベントだけでなくイベントもありOnClick
ます。イベントを使用する場合、やOnCommand
などのボタンに適用できる追加のパラメーターがあります。これらは、 でアクセスできます。CommandName
CommandArgument
CommandEventArgs
CommandName
同じメソッドを複数のボタンに割り当て、およびCommandArgument
パラメータを使用して、そのボタンをクリックするとどのような機能が生成されるかを示す場合に便利です。
EventArgs
クラスは基本クラスです。他の Web メソッドは、他のイベント引数を使用します。
たとえば、LinkButton には、デフォルトの EventArgs パラメータを持つ OnClick イベントがありますが、CommandEventArgs : EventArgs
いくつかの追加情報 (つまり、CommandName と CommandArgument) を持つパラメータを取る OnCommand イベントもあります。
イベント引数の基本クラスは、すべての EventHandler が同様の署名に準拠するように、プレース ホルダーとして存在します。