JavaScript 클릭 이벤트에서 ASP.NET 함수 트리거
ASP.NET 웹 애플리케이션에는 클라이언트측 JavaScript와 서버측 ASP.NET 메서드 간의 통신이 필요한 경우가 많습니다. 일반적인 작업은 JavaScript 클릭 이벤트에 대한 응답으로 ASP.NET 함수를 실행하는 것입니다.
클라이언트측 클릭으로 서버측 실행 달성
이 상호 작용은 표준 AJAX 접근 방식을 교묘하게 회피하는 방법을 사용하여 달성할 수 있습니다.
구현 단계
구현 IPostBackEventHandler
: IPostBackEventHandler
인터페이스를 ASP.NET 페이지 클래스에 통합:
<code class="language-csharp">public partial class Default : System.Web.UI.Page, IPostBackEventHandler { }</code>
재정의 RaisePostBackEvent
: RaisePostBackEvent
메서드 재정의:
<code class="language-csharp">public void RaisePostBackEvent(string eventArgument) { }</code>
JavaScript 클릭 이벤트 핸들러: JavaScript 클릭 이벤트 핸들러 내에서 __doPostBack
함수를 활용하여 페이지의 ClientID와 이벤트 인수를 전달합니다.
<code class="language-javascript">var pageId = '<%= Page.ClientID %>'; __doPostBack(pageId, 'myArgument'); // 'myArgument' is a custom argument</code>
ASP.NET 포스트백 처리: ASP.NET 페이지의 Page_Load
이벤트에서 포스트백을 처리하고 적절한 메서드를 실행합니다.
<code class="language-csharp">protected void Page_Load(object sender, EventArgs e) { if (Page.IsPostBack) { string eventArgument = Request.Form["__EVENTARGUMENT"]; switch (eventArgument) { case "myArgument": MyAspDotNetMethod(); // Call your server-side method break; } } }</code>
설명: __doPostBack
함수는 Page_Load
이벤트 내에서 감지할 수 있는 표준 ASP.NET 포스트백을 트리거합니다. eventArgument
을 사용하면 다양한 포스트백을 구별하고 관련 서버측 메서드를 호출할 수 있습니다. 이 접근 방식을 사용하면 AJAX 설정 구성의 복잡성을 피할 수 있습니다.
위 내용은 JavaScript 클릭 이벤트에서 ASP.NET 함수를 어떻게 호출할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!