2010-03-25 6 views
2

현재 ASP.NET AJAX 응용 프로그램을 작성 중입니다. 분명한 이유로 UpdatePanels를 사용하지 않기로 결정한 경우, 내가 가지고있는 대안은 무엇입니까? 이 응용 프로그램에는 페이지가 동적으로 작성되어 있으므로 페이지의 대부분 또는 모든 구성 요소가 사용자 정의 컨트롤로 존재합니다.사용자 정의 컨트롤 (ASCX 페이지)의 UpdatePanel 대안

ASCX 사용자 컨트롤 페이지에서 AJAX 호출을해야합니다. 그리고 ASCX 사용자 컨트롤에는 Page Methods가 없을 수도 있습니다. 다른 옵션에는 어떤 것이 있습니까?

또는 ASCX 페이지에서 페이지 메쏘드를 사용하는 방법이 있습니까?

답변

0

가장 좋은 방법은 (내가 발견 한) 인 PageMethod가 완료되면 2. 사용자 정의 컨트롤을하자 부모 페이지에서 PageMethods이는 PageMethod 호출이 을 완료 할 수있는 JS 방법을 통해 알려 1.에 3. 그런 다음 ICallbackHandler를 구현하여 사용자 정의 컨트롤에서 AJAX 콜백을 수행 할 수 있습니다.

제 경우에는 PageMethods가 실행 된 후 사용자 컨트롤에서 일부 값을 업데이트해야합니다. HtmlOutputWriter를 사용하여 내용을 업데이트하는 사용자 정의 컨트롤.

저에게 맞습니다!

2

당신이 말한대로 UserControl에서 webmethods를 호출 할 수 없습니다. 그 이유는 WebMethod 속성으로 표시된 메소드도 정적이어야합니다. UserControls는 이것을 지원하지 않습니다. UpdatePanel을 기꺼이 사용하지 않으려면 많은 옵션이 필요하지 않습니다.

AJAX 전화를 jQuery를 통해 web services으로 만들 수 있습니까? 이것은 하나의 옵션이 될 것입니다 ...

UpdatePanelUpdateMode="Conditional"과 함께 사용되는 컨트롤은 콜백과 관련된 상황을 상당히 잘 제어하며 여전히 합리적인 해결책입니다. 똑바로 아약스 호출만큼 가볍지는 않지만 유지 보수가 쉽습니다.

0

jQuery AJAX는 웹 서비스와 함께 사용하면 좋은 솔루션을 제공합니다.

관련 문제