2009-03-07 3 views
3

asp.net 2.0-3.5 ajax 웹 응용 프로그램의 데이터를 지원하는 가장 좋은 방법은 무엇입니까? 업데이트 패널, 일반 텍스트 데이터 (JSON) 만 사용하고 싶지 않습니다. 웹 서비스를 사용해야합니까? 또는 다른 방법이 있습니다.업데이트 패널이없는 ASP.NET AJAX

답변

7

Errrr ... .aspx 페이지를 사용 하시겠습니까? 핸들러는 무엇입니까?

json (de) 직렬화 (예 : Json.net 사용)를 처리하고 아약스 호출에 대한 핸들러를 구현하는 일반 기본 핸들러를 만들어야합니다.

public abstract class JsonHandlerBase<TInput, TOutput> : IHttpHandler 
{ 
    public void ProcessRequest(HttpContext context) 
    { 
     context.Response.ContentType = "application/json"; 
     TInput input = (TInput)context.Request; // Desesialize input 
     TOutput output = ProcessRequest(context, parameter); 

     string json = (string)output; // Serialize output 
     context.Response.Write(json); 
    } 

    public abstract TOutput ProcessRequest(HttpContext context, TInput input); 

    public bool IsReusable { get { return false; } } 
} 

이것은 단지 예일 뿐이며, 기본 처리기에서 필요로하는지 결정하는 것은 사용자의 몫입니다.

+0

이것이 더 좋은 방법입니다. – Sruly

+0

달콤한! 감사 :) – ppiotrowicz

1

일반 aspx 페이지 나 핸들러를 사용하여 JSON 만 출력 할 수 있습니다. aspx에서 모든 HTML을 지우고 코드에서 Response.Write()를 사용하면됩니다.

프런트 엔드 JS의 경우 JQuery 또는 다른 Ajax 프레임 워크를 사용할 수 있습니다.

또한 Asp.Net MVC를 확인하십시오. MVC는 JsonResult 공진 유형을 가지고 있으며 JQuery와 함께 사용하면 Ajax 기능을 매우 쉽게 사용할 수 있습니다.

+0

MVC를 시도했는데 정말 좋습니다. 하지만 난 직장에서 몇 가지 레거시 asp.net 코드와 붙어있어. .net 3.0에 대한 가능성은 없습니다. 따라서 MVC는 옵션이 아닙니다. – ppiotrowicz

관련 문제