[Page.GetPostBackEventReference()를 이용한 doPostBack]
자바스크립트로 behind code의 메서드를 실행하고 싶은 경우가 있다.
이럴 경우 보통은 스크립트에서 __doPostBack() 메서드를 정의해서 사용하곤 한다. 하지만, 이는 좋지 못한 방법이다.
__doPostBack() 메서드는 .net에서 자동 생성하는 부분으로, 개발자가 별도로 작성하여도 바뀔 가능성이 있다. 또한, .net에서 자동으로 생성하지 않는 경우도 발생한다.
스크립트로 behind code의 메서드를 실행하고 싶을 때는 아래와 같은 방법을 권한다.
<%= Page.GetPostBackEventReference( WebFormButton ) %>
이는 postback이 발생하는 WebForm Control을 매개변수로 넘겨주면, 자동으로 __doPostBack()을 생성해 준다.
ex)
[Page.aspx]
btnOne -> HTML Input 컨트롤 - visible
<script language="javascript">
function btnOneClick()
{
<%= Page.GetPostBackEventReference( btnTwo ) %>
}
</script>
<input type="button" onclick="btnOneClick()">
[Page.aspx.cs]
btnTwo -> WebForm Button 컨트롤 - invisible
private void btnTwo_Click(...)
{
...
}
'.NET > ASP.NET' 카테고리의 다른 글
Client Script (0) | 2006.05.11 |
---|---|
ASP.NET 대용량 화일 다운로드 컴포넌트 (0) | 2006.05.11 |
이번에 처음 써본 Elmah 로깅 서비스 (0) | 2006.04.12 |
FIX: "The View State Is Invalid for This Page and M.. (0) | 2006.04.12 |
닷넷 펫스토어 4 (0) | 2006.04.11 |