2015년 1월 26일 월요일

C# 에서 asp:button 을 자바스크립트로 클릭하기.

c# 으로 작업하다보면, 특정 버튼을 클릭하여 액션을 발생시키기 전에 자바스크립트로 전처리를 하고 액션을 발생 시켜야 할때가 있다.

물론, 일반적으로는 "OnClientClick" 이벤트로 처리하면 되지만, 예를 들면 모두 같은 저장버튼인데, 파라메터 값만 다른 경우, 실제 <asp:button> 은 숨겨놓고, 다른 3개의 버튼을 클릭시 파라메터 값을 편집하고, 마지막으로 <asp:button> 버튼이 클릭되어 저장되게 한다... 같은 처리 루틴을 처리할려면, 자바스크립트로  <asp:button> 을 클릭하는 효과가 필요하다.

예전에는 _doPostBack() ... 같은 스크립트를 이용해서 뭔가 복잡하게 처리하기도 했지만, 요즘은 단순히 클릭이벤트라면 간단히 처리할 수 있다.

function deleteContent() {
    if (confirm("삭제하시겠습니까?")) {
        var setMode = document.getElementById("<%= hidMode.ClientID %>");
        setMode.value = "delete";
        document.getElementById("<%= btnDelete.ClientID %>").click();
    }
}
이런식으로 "document.getElementById" 를 이용해 버튼을 찾고, 그걸 그냥 "click()" 이벤트를 발생시켜주면 그냥 해결된다.