별생각 없이 사용하던 코드를 붙여놓고 돌리니..
Microsoft JScript 런타임 오류: '__doPostBack'이(가) 정의되지 않았습니다.
그래서 생성된 코드를 보니까..
해당 버튼이 생성이 안됐네?
그래서 버튼을 다시 생성했지만 그래도 같은 현상입니다-_-;
검색해보니 스텍오버플로우에 이런 글이 있군요.
__doPostBack()를 사용하려면 포스트 백(post back)을 하는 컨트롤이 있어야 한다.
참고 : stackoverflow - __doPostBack is not defined - Don Tato 님 답변
그런데 버튼은 포스트 백을 일으키는 컨트롤인데 왜 안 되지-_-;;;
같은 글에 친절하신 분들이 강제로 포스트 백을 삽입할 방법을 써주셨습니다.
다음 코드를 Page_Load
ClientScript.GetPostBackEventReference(this, string.Empty);
넣으시면 정상적으로 __doPostBack()가 동작합니다.
만약 이 방법이 좀 거슬린다 싶으시면 이전에 "[ASP.Net] 자바스크립트에서 비하인드 호출하기"에서 소개한
<%= Page.GetPostBackEventReference([숨겨진 컨트롤 이름]) %>
이 방법을 쓰셔도 됩니다.
(참고 : [ASP.Net] 자바스크립트에서 비하인드 호출하기)
웹폼(WebForm)도 이럴 때 보면 은근히 불편합니다.