我不知道如何用代码返回JSON数据。
苏丹
$(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);
}
});
});
默认值.aspx.cs的C#
[WebMethod]
public static string GetProducts()
{
var products = context.GetProducts().ToList();
return What do I have to return ????
}
5条答案
按热度按时间htzpubme1#
你离这儿不远你需要这样做:
你可以进一步减少这段代码,但为了清晰起见,我还是这样写了。事实上,你甚至可以这样写:
这将返回一个json字符串,我更喜欢更明确的,因为我使用自定义转换器,也有Json.net,但框架的
JavaScriptSerializer
工作得很好,开箱即用。jdzmm42g2#
仅返回对象:它将被解析为JSON。
jfewjypa3#
这种结构对我很有效--我在一个小型任务管理应用程序中使用过它。
控制器:
在 AJAX 调用中,我按如下方式访问数据:
8yparm6h4#
Asp.net 非常擅长将.net对象自动转换为json,如果在webmethod中返回List对象,那么它应该返回一个json/javascript数组,我的意思是不应该将返回类型改为string(因为这是您认为客户端所期望的)。如果您返回一个。net数组从webmethod返回一个javaScript数组给客户端。它实际上对更复杂的对象不太有效,但对简单的数组数据来说就很好了。
当然,接下来就由您来做您需要在客户端做的事情了。
我会这样想:
实际上不需要初始化任何自定义转换器,除非您的数据比简单的行/列数据更复杂
b4qexyjb5#
试着用这个吧,它对我很有效