2015년 9월 9일 수요일

jQuery C# : jQuery 달력이 UpdatePanel 에서 PostBack 이 발생시 더 이상 작동 하지 않을 때.

C# 에서 jQuery 달력을 쓰는데, 일반적으로는 잘 동작하는데, UpdatePanel 에 넣었더니 동작하지를 않는다.


이렇게 UpdatePanel 안에 클릭하면 달력이 나타나게 하는 텍스트 박스와 버튼을 배치 해놓고...


텍스트 박스를 클릭하면 ....


이렇게 달력이 뜬다. 그런데... 같은 UpdatePanel 내의 버튼을 클릭하여 PostBack 을 발생 시키면...


이렇게 텍스트 박스를 클릭해도 더이상 달력이 뜨지 않는다.
아무래도 UpdatePanel 영역이 갱신되면서 생성되었던 오브젝트가 없어져 버린것 같은데, 이게 생성 스크립트를  UpdatePanel 에 같이 넣어 놔도 해결이 안된다.

이때,    
    var prm = Sys.WebForms.PageRequestManager.getInstance();
    prm.add_endRequest();

... 를 사용하면 비동기 통신을 수행 할때, 특정 스크립트를 실행 하게 할 수 있다.
즉, 이렇게...


요렇게 해놓고 다시 시도 해보면...



이렇게 PostBack 이 발생해도 텍스트 박스를 클릭시 달력 창을 띄울 수 있다.