将json数组传递给WebMethod

时间:2017-01-18 05:16:09

标签: javascript jquery json c#-4.0 webmethod

我试图将一个对象作为字符串传递给json数组,但我得到了var bodyParser = require('body-parser'); app.use(bodyParser.urlencoded({ extended: true }));

方法Internal Server Error正在运作。

我想将对象数组传递给服务器并将其转换为GetServerTime

的通用列表
ProcessDetail

1 个答案:

答案 0 :(得分:2)

首先,您不需要processDetails对象,只需将对象添加到数组中即可:

var processDetails = [];

for (var i = 1; i < grid.rows.length; i++) {
    // [...]
    var processDetail = { StartDate: txtStartDate.value, EndDate: txtEndDate.value };
    processDetails.push(processDetail);
}

然后,传递给getData未编译的数组:

var serverData = getData('<%= ResolveUrl("ViewCharts.aspx/GetDurations") %>', processDetails);

getData中要做的一些更改:

  • dataType设置为json
  • data

    字符串化
    dataType: "json",
    data: JSON.stringify({ processDetails: dataString })
    

ViewCharts中的一些更改:

  • 将参数text设置为List<ProcessDetail>

    public static string GetDurations(List<ProcessDetail> processDetails)
    

然后,您可以直接访问列表中的ProcessDetail个对象:

foreach (ProcessDetail processDetail in processDetails)
{
    // processDetail.StartDate
    // processDetail.EndDate
}