在asp.net webforms编程中返回json对象的规范方法是什么?

时间:2010-06-02 23:23:18

标签: asp.net asp.net-mvc json webforms

在ASP.Net MVC中,动作方法只需返回类似的东西即可返回json对象:

JSON([任何])

如何通过服务或aspx页面后面的代码中的方法,使用webforms返回说List<String>的JSon表示?与ASP.Net MVC相比,这看起来令人难以置信。

3 个答案:

答案 0 :(得分:2)

您应该查看http://json.codeplex.com/,以便您执行以下操作:

using Newtonsoft.Json;

List<String> strings = new List<String>();
strings.Add("one");
strings.Add("two");
strings.Add("three");

string json = JsonConvert.SerializeObject(strings);
// same as json = "[\"one\",\"two\",\"three\"]";

json = JsonConvert.SerializeObject(new { mystrings = strings });
// same as json = "{\"mystrings\":[\"one\",\"two\",\"three\"]}";

答案 1 :(得分:1)

肯定会有更多的工作,这是肯定的。

使用return Json(foo) MVC框架处理所有序列化。

在ASP.NET Web窗体中,这样的奢侈品是不可用的。

在这种情况下,您需要使用DataContractSerializer

见这里: http://msdn.microsoft.com/en-us/library/bb410770.aspx

当然,您需要决定如何托管您的服务(WCF,ASMX,ASHX)

这个决定取决于你 - 取决于你的要求。

答案 2 :(得分:1)

您可能想要使用

  1. ASP.Net AJAX Web Services(在ASP.net MVC中使用JavascriptSerializer
  2. 或WCF和DataContractSerializer
  3. 关于Ajax应用程序架构的一些有用资源:

    AJAX Application Architecture, Part 1
    AJAX application architecture, Part 2