23

私は人々がウェブコントロールのcommandParameterプロパティを介してパラメータを渡すいくつかのコードを見ました。それからeventargsの使用は何ですか。

4

3 に答える 3

53

これは、異なるボタンに同じ 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;
           }
}

ソース: aspnet-passing-parameters-in-button-click-handler

于 2009-05-06T15:29:11.287 に答える
6

.NET のさまざまなボタン型コントロールには、OnCommandイベントだけでなくイベントもありOnClickます。イベントを使用する場合、やOnCommandなどのボタンに適用できる追加のパラメーターがあります。これらは、 でアクセスできます。CommandNameCommandArgumentCommandEventArgs

CommandName同じメソッドを複数のボタンに割り当て、およびCommandArgumentパラメータを使用して、そのボタンをクリックするとどのような機能が生成されるかを示す場合に便利です。

于 2009-05-06T15:28:59.837 に答える
5

EventArgsクラスは基本クラスです。他の Web メソッドは、他のイベント引数を使用します。

たとえば、LinkBut​​ton には、デフォルトの EventArgs パラメータを持つ OnClick イベントがありますが、CommandEventArgs : EventArgsいくつかの追加情報 (つまり、CommandName と CommandArgument) を持つパラメータを取る OnCommand イベントもあります。

イベント引数の基本クラスは、すべての EventHandler が同様の署名に準拠するように、プレース ホルダーとして存在します。

于 2009-05-06T15:29:50.070 に答える