不带更新面板的ASP.NET AJAX

不带更新面板的ASP.NET AJAX,asp.net,ajax,Asp.net,Ajax,支持asp.net 2.0-3.5 ajax web应用程序数据的最佳实践是什么? 我不想使用更新面板,只想使用纯文本数据(JSON)。 我应该使用web服务吗?或者还有其他方法。您可以使用普通的aspx页面或处理程序,只输出JSON。要做到这一点,请删除aspx中的所有Html,然后在代码中使用Response.Write() 然后,对于前端JS,您可以使用JQuery或任何其他Ajax框架 您可能还想查看Asp.NETMVC。MVC有一个JsonResult resonse类型,很容易与JQ

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

您可以使用普通的aspx页面或处理程序,只输出JSON。要做到这一点,请删除aspx中的所有Html,然后在代码中使用Response.Write()

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


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

Errrr。。。使用.aspx页面?什么是处理器

您只需要创建一个通用的基本处理程序来处理json(反)序列化(例如使用),然后为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; } }
}
公共抽象类JsonHandlerBase:IHttpHandler
{
公共void ProcessRequest(HttpContext上下文)
{
context.Response.ContentType=“应用程序/json”;
TInput输入=(TInput)context.Request;//取消输入的大小
TOutput output=ProcessRequest(上下文,参数);
字符串json=(字符串)输出;//序列化输出
context.Response.Write(json);
}
公共抽象TOutput ProcessRequest(HttpContext上下文,TInput输入);
公共布尔可重用{get{return false;}}
}

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

我尝试了MVC,它非常棒。但我在工作中遇到了一些遗留的asp.net代码。对于.NET3.0来说没有机会-所以MVC不是一个选项。这是更好的方法。