ASP.NET : 버튼 on 클릭을 전달하는 매개 변수에 EventArgs를 사용하는 방법은 무엇입니까?

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

문제

사람들이 웹 제어의 명령 파라미터 속성을 통해 매개 변수를 전달하는 코드를 보았습니다.

도움이 되었습니까?

해결책

다른 버튼에 대해 동일한 이벤트 핸들러 메소드가있는 경우 유용 할 수 있습니다. 예를 들어, 마크 업이 다음과 같이 보입니다.

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

버튼 모두에 대해 동일한 이벤트 핸들러를 가질 수 있으며 명령 이름을 기반으로 차별화 할 수 있습니다.

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 클릭 핸들러

다른 팁

.NET의 다양한 버튼 유형 컨트롤에는 an이 있습니다 OnCommand 이벤트뿐만 아니라 이벤트 OnClick 이벤트. 사용할 때 OnCommand 다음과 같은 버튼에 적용 할 수있는 추가 매개 변수가있는 이벤트 CommandName 그리고 CommandArgument. 그런 다음 이들은 액세스 할 수 있습니다 CommandEventArgs.

동일한 방법을 여러 버튼에 할당하고 사용하려는 장소에서 유용합니다. CommandName 그리고 CommandArgument 버튼을 클릭하는 기능을 나타내는 매개 변수.

그만큼 EventArgs 클래스는 기본 클래스입니다. 다른 웹 방법은 다른 이벤트 args를 사용합니다.

예를 들어 LinkButton에는 기본 EventArgs 매개 변수가 포함 된 OnClick 이벤트가 있지만 OnCommand 이벤트도 있습니다. CommandEventArgs : EventArgs 추가 정보가있는 매개 변수 (즉, CommandName & CommandArgument).

이벤트 Args 기본 클래스는 모든 이벤트 핸들러가 유사한 서명을 준수하도록 장소 보유자로서 존재합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top