gpt4 book ai didi

javascript - JSON 没有通过 JQuery 传递给 Controller

转载 作者:行者123 更新时间:2023-11-30 19:24:11 26 4
gpt4 key购买 nike

我似乎无法从 ListBox 获取到 UpdateCaps Controller 的 json(已验证有效):

Controller :

public IActionResult UpdateCaps(List<SelectListItem> selectedItems)
{
var test = selectedItems;
return Json(test);
}

列表框:

   @(Html.Kendo().ListBox()
.Name("selected")
.ConnectWith("optional")
.Selectable(ListBoxSelectable.Multiple)
.DropSources("optional")
.DataTextField("Description")
.DataValueField("Id")
.Toolbar(toolbar =>
{
toolbar.Position(ListBoxToolbarPosition.Right);
})
.DataSource(source => source
.Custom()
.Type("aspnetmvc-ajax")
.Transport(transport => transport
.Read(read => read.Action("GetSelectedCapsUnits", "OrgStructure").Data("level1Select"))
)
)
.Events(events => events
.Add("onAdd")
.Remove("onRemove")
)
.BindTo(new List<SelectListItem>())
)

列表框中的 onAdd 触发此 javascript:

function onAdd(e) {
console.log(e.dataItems);
console.log(JSON.stringify({ selectedItems: e.dataItems }))
$.ajax({
type: "POST",
url: "/OrgStructure/UpdateCaps",
contentType: "application/json; charset=utf-8",
data: JSON.stringify({ selectedItems: e.dataItems }),
dataType: "json",
success: function (result) {
alert("Successfully sent to server: " + result.map(function (x) {
return x.Text
}))
}
});

$('#selectedListBox').text(' ' + e.dataItems.length + " added - saved");

}

已验证 JSON 字符串是否有效: enter image description here使用:console.log(JSON.stringify({ selectedItems: e.dataItems }))

它触发 UpdateCaps 方法 onAdd 但没有结果: enter image description here

最佳答案

修改这行代码:

JSON.stringify({ selectedItems: e.dataItems }),

JSON.stringify(e.dataItems),

问题是您正在向 Controller 发回一个对象,该对象包含一个名为 selectedItems 的属性。它包含一个对象列表。您必须改为传递列表。

根据您的评论,您不需要 List<SelectListItem>作为参数。

创建以下类:

public class MyModel
{
public int Id { get; set; }
public string Description { get; set; }
}

并更新您的代码以获取 MyModel 的列表:

public IActionResult UpdateCaps([FromBody]List<MyModel> models)

关于javascript - JSON 没有通过 JQuery 传递给 Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57100806/

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