asp.net:ボタンonclickでパラメータを渡すためにeventargsを使用する方法は?

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

質問

Web コントロールの commandParameter プロパティを介してパラメーターを渡すコードをいくつか見たことがあります。それでは、eventargs の使用方法は何ですか。

役に立ちましたか?

解決

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

他のヒント

.NETの各種ボタンタイプコントロールには、 OnCommand イベントと OnClick イベントがあります。 OnCommand イベントを使用する場合、 CommandName CommandArgument などの追加のパラメーターをボタンに適用できます。これらは、 CommandEventArgs でアクセスできます。

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

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

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

イベント args 基本クラスは、すべての EventHandler が同様のシグネチャに準拠するように、プレースホルダーとしてのみ存在します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top