如何支持asp.net 2.0-3.5 ajax web应用程序的数据?最佳实践是什么? 我不想使用update panels,只需要纯文本数据(JSON)。 我应该使用web服务吗?还是有其他方法。
嗯……使用一个 .aspx 页面?那处理程序是用来干什么的?
你只需要创建一个通用的基础处理程序,它将负责 JSON 的序列化和反序列化(例如使用 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; } }
}
这只是一个例子,您可以决定在基本处理程序中需要什么。
您可以使用普通的aspx页面或处理程序并输出JSON。这可以通过擦除aspx中的所有Html,然后在代码中使用Response.Write()来完成。
然后对于前端JS,您可以使用JQuery或任何其他Ajax框架。
您还可以查看Asp.Net MVC。MVC具有JsonResult响应类型,并且与JQuery一起使用非常容易获得非常好的Ajax功能。