gpt4 book ai didi

c# - 如何使用 AJAX 将对象数组从 View 传递到 Controller

转载 作者:行者123 更新时间:2023-11-30 22:54:33 25 4
gpt4 key购买 nike

我正在尝试使用 AJAX 将对象数组从我的 View 传递到 Controller 。该数组未传递给 Controller ​​( Controller 操作接收 null)。

查看:

    function submitFilters() {
var filters = [];

$(".filter-option-checkbox").each( function(){
var filter =
{
FilterType: $(this).find("#filter_Type").val().toString(),
FilterDescription: $(this).find("#filter_Description").val().toString(),
OptionDescription: $(this).find("#option_Description").val().toString(),
OptionSelected: $(this).find(".custom-control-input").prop('checked')
};

filters.push(filter);
});

$.ajax({
type: 'POST',
url: '@Url.Action("Index", "Category")',
data: JSON.stringify(filters),
dataType: "json",
contentType: "application/json; charset=utf-8",
success: function (view) {
},
failure: function (response) {
}
});
}

Controller :

    [HttpPost]
public IActionResult Index(FilterJSON[] filters)
{
//...code here...
}

项目等级:

    public class FilterJSON
{
public string FilterType { get; set; }
public string FilterDescription { get; set; }
public string OptionDescription { get; set; }
public bool OptionSelected { get; set; }
}

我不认为我离得很远。我错过了什么?谢谢。

最佳答案

    [HttpPost]
public IActionResult Index([FromBody]FilterJSON[] filters)
{
//...code here...

return null;
}

        $.ajax({
type: 'POST',
url: '@Url.Action("Index", "Home")',
data: JSON.stringify(filters),
contentType: "application/json; charset=utf-8",
success: function (view) {
},
failure: function (response) {
}
});

应该可以

关于c# - 如何使用 AJAX 将对象数组从 View 传递到 Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56150657/

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