c# – 如何使用ASP.NET和jQuery返回JSON

我不能得到如何可以与我的代码返回JSON数据。

JS

$(function () {
$.ajax({
        type: "POST",
        url: "Default.aspx/GetProducts",
        data: "{}",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function (msg) {
            // How to return data here like a table???  
            $("#Second").text(msg.d);
            //alert(msg.d);
        }
    }); 
});

C#Default.aspx.cs

[WebMethod]
public static string GetProducts()
{
   var products  = context.GetProducts().ToList();   
   return What do I have to return ????
}

提前致谢!

你不远;你需要做这样的事情:

[WebMethod]
public static string GetProducts()
{
  // instantiate a serializer
  JavaScriptSerializer TheSerializer = new JavaScriptSerializer();

  //optional: you can create your own custom converter
  TheSerializer.RegisterConverters(new JavaScriptConverter[] {new MyCustomJson()});

  var products = context.GetProducts().ToList();   

  var TheJson = TheSerializer.Serialize(products);

  return TheJson;
}

你可以进一步减少这个代码,但为了清晰,我离开了。事实上,你甚至可以这样写:

return context.GetProducts().ToList();

并且这将返回一个json字符串。我更喜欢更明确,因为我使用自定义转换器。还有Json.net,但框架的JavaScriptSerializer工作很好的开箱即用。

http://stackoverflow.com/questions/18244696/how-to-return-json-with-asp-net-jquery

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:c# – 如何使用ASP.NET和jQuery返回JSON