没有更新面板的ASP.NET AJAX

时间:2009-03-07 20:45:51

标签: asp.net ajax

支持asp.net 2.0-3.5 ajax Web应用程序数据的最佳实践是什么? 我不想使用更新面板,只是纯文本数据(JSON)。 我应该使用网络服务吗?或者还有另一种方式。

2 个答案:

答案 0 :(得分:7)

Errrr ...使用.aspx页面?什么是处理程序?

你只需要创建一个通用的基本处理程序来处理json(de)序列化(例如使用Json.net),然后为你的ajax调用实现处理程序。

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; } }
}

这只是一个例子,由你来决定你的基本处理程序是否需要。

答案 1 :(得分:1)

您可以使用普通的aspx页面或处理程序,只输出JSON。你可以通过擦除aspx中的所有Html然后在代码中使用Response.Write()来实现这一点。

然后,对于前端JS,您可以使用JQuery或任何其他Ajax框架。

您可能还想查看Asp.Net MVC。 MVC有一个JsonResult共振类型,并且很容易与JQuery一起使用以获得非常好的Ajax功能。