当前位置: 首页 > 面试题库 >

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

薄兴昌
2023-03-14
问题内容

我不知道如何用代码返回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工作开箱即可。



 类似资料:
  • 问题内容: 我正在为我的网站创建自动完成功能。到目前为止,javascript部分已经结束。另外,我可以获取匹配用户的MembershipUser对象。 我需要以以下格式返回JSON: 这是ashx中的代码: 如何以所需格式返回json?谢谢。 问题答案:

  • 问题内容: 我有一个包含许多ListView的页面,我希望用户能够对它们进行排序和翻页。我不想每次都回发并重新绑定整个页面,而是希望通过jQuery / AJAX有选择地针对所涉及的控件进行操作。我很容易在页面中对WebMethod进行客户端调用- 我的问题是如何通过jQuery将返回的数据返回到ListView中? (注意:我不想使用UpdatePanel!) 问题答案: 我不确定仅由于List

  • 问题内容: 我尝试添加 检查返回的对象是否为空,但是它不起作用。 有人可以告诉我这是怎么回事吗? 问题答案: 只需测试数组是否为空。

  • 问题内容: 我正在构建一个客户端脚本繁重的ASP.NET MVC应用程序,它将使用JSON和jQuery来操作DOM。 我的理解是 Web API Controller 和 MVC Controller 都可以返回JSON。 在我的情况下,应该使用 Web API控制器 还是 MVC控制器 ? 问题答案: 可以在任何ASP.NET应用程序中创建并托管Web API控制器,而不仅仅是MVC应用程序。

  • 根据我的场景,我应该使用Web API控制器还是MVC控制器?

  • 问题内容: 我使用ASP.NETMVC从jQuery发布JSON,并使用此小库函数获取一些JSON: 所以显然我会这样称呼: ASP.NET MVC 3和ASP.NET MVC4支持事物的提交方面(在需要扩展ASP.NETMVC来处理提交JSON之前),但是我遇到的问题是返回。在控制器上,我经常返回null,基本上说“成功,没什么可说的”,例如: 我经常使用这种模式,并且效果很好-调用了我的成功/