gpt4 book ai didi

c# - 通过 ajax 使用 List 参数调用 Controller 方法

转载 作者:行者123 更新时间:2023-12-02 19:16:01 25 4
gpt4 key购买 nike

我的 C# 代码中有这个类:

public class MyItem
{
public int LocationId { get; set; }
public int Value { get; set; }
public int ddlId { get; set; }
}

这是我的 Js/Ajax 代码:

var array = new Array();
grid.forEachRow(function (id) {
var object = {
LocationId: id,
Value: someValue,
ddlId: otherValue
};
array.push(object);
});

$.ajax({
type: "POST",
url: "/MyController/SaveTheList",
data: { myList: array },
success:function() { }
});

这是 Controller 中的方法:

 [HttpPost]
public ActionResult SaveTheList(List<MyItem> myList)
{ }

该方法被命中,并且 myList 具有精确的长度,但对象中的所有值都是 0。

最佳答案

我建议您使用 fiddler(或类似工具)检查 POST 正文中的 AJAX 请求中的数据到底发送到什么位置,

有件事告诉我

data: { myList: array }

看起来像“Object#1,Object#2,Object#3”因为 jQuery 将尝试序列化对象数组

作为解决方案,尝试将 jQuery 请求中的数据作为 JSON 字符串传递,这样 MVC 绑定(bind)器应该能够绑定(bind)数据;

关于c# - 通过 ajax 使用 List<MyItem> 参数调用 Controller 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13123666/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com