cshtml页面中的## AJAX调用
function ValidateData() {
var editedRows = [];
$("#eventsTable tbody tr").each(function () {
editedRows.push({
PK_WS_Event: $(this).find("td:eq(1)")[0].innerText,
Act_Id: $(this).find("td:eq(2)")[0].innerText,
WeeklyStatus: $(this).find("td:eq(3) option:selected").text()
== "--Select--" ? "" : $(this).find("td:eq(3)
option:selected").text(),
WeeklyStatusSubType: $(this).find("td:eq(4)
option:selected").text() == "--Select--" ? "" : $(this).
find("td:eq(4) option:selected").text(),
AccountName: $(this).find("td:eq(5)")[0].innerText,
AccountNumber: $(this).find("td:eq(6)")[0].innerText,
WeeklyStatusDesc: $(this).find("td:eq(7)")
[0].textContent.trim(),
});
});
$.ajax({
type: 'post',
url: "/WeeklyStatus/IndexSubmit",
data: JSON.stringify({ editedRows: editedRows }),
contentType: 'application/json',
dataType: "html",
success: function (response) {
},
error: function (xhr, status, error) {
alert('fail');
}
});
}
## Server Code Controller and ##
----------
[HttpPost]
public IActionResult IndexSubmit(IList<WeeklyStatusEvents>
editedRows)
{
return null;
}
我的ViewModel如下..
public class ReportViewModel
{
public int SelectedStatusId { get; set; }
public int SelectedSubTypeId { get; set; }
public List<WeeklyStatusEvents> statusEvents { get; set; }
}
和WeeklyStatusEvents模型,如下所示
public class WeeklyStatusEvents
{
public string PK_WS_Event { get; set; }
public string Act_Id { get; set; }
//public bool INDExcludeFromRpt { get; set; }
public string WeeklyStatus { get; set; }
public string WeeklyStatusSubType { get; set; }
public string AccountName { get; set; }
public string AccountNumber { get; set; }
public string WeeklyStatusDesc { get; set; }
}
所以在这里,我的计数是0.
我已经创建了具有所有这些属性的类。我在ajax调用中也使用了相同的属性名。
就连我也没有得到数据。你能提供我在获取数据时错过的解决方案吗?
发布于 2019-06-09 19:39:16
替换
data: JSON.stringify({ editedRows: editedRows }),
使用
data: JSON.stringify(editedRows),
不同之处在于,您希望发送一个对象数组,而不是一个包含数组的对象。
为了查看这两行之间的差异,我建议您检查以下几行返回的内容:
console.log(JSON.stringify(editedRows)
console.log(JSON.stringify({ editedRows: editedRows })
并在操作中的参数前面添加FromBody。
发布于 2019-06-10 00:45:23
在列表前面添加FromBody,然后重试
[HttpPost]
public ActionResult IndexSubmit([FromBody] List<WeeklyStatusEvents> obj)
{
Vreturn null;
}
https://stackoverflow.com/questions/56514211
复制相似问题