gpt4 book ai didi

c# - ASP.NET Core 模型未通过 AJAX 绑定(bind)到 Controller

转载 作者:太空宇宙 更新时间:2023-11-03 14:53:05 25 4
gpt4 key购买 nike

我在很多论坛上读到,很多时候模型不会绑定(bind)到 Controller ,因为操作的参数与字段具有相同的名称,但我将其更改为唯一的名称,但我仍然没有在做了。我在从 html 页面获取对象并使用 JSON.Stringify 对其进行序列化后传递对象,如果我在 chrome 工具中调试它,“有效负载请求”中的一切看起来都很完美,但一旦它到达 Controller ,模型就为空.代码有什么问题?

型号:

public class JsonFileModel
{
public string[] Geo { get; set; }
public string[] State { get; set; }

public string[] Variables { get; set; }

public int[] Weights { get; set; }
public string[] Variable_Category { get; set; }

public string UID { get; set; }

AJAX 调用:

  var geo_graphic_level = $('input[name=geographic-radio-name]:checked').val();
var state = $('#states-select-id option:selected').val();
var v = $('#variable-list-select-id option:selected');
var variables = [];
var json = "'" + JSON.stringify(variables) + "'";
$(v).each(function (index, v) {
variables.push($(this).val())
});
var variable_category = $('#categories-select-id option:selected').val();
var weights = [];
$("input[name='weight-name']").each(function () {

weights.push(this.value);

});

//上面的代码给出了对象的值

    $.ajax({
type: "POST",
url: '@Url.Action("Save", "Drive")',
dataType: "json",
data: JSON.stringify({
Geo: geo,
State: state,
Variables: variables,
Weights: weights,
Variable_Category: variable_category
}),
contentType: 'application/json',
success: function (result) {
console.log(result);
},
error: function (result) {
}
});

Controller :

   [HttpPost]
public JsonResult Save([FromBody] JsonFileModel d)
{
//code code
return Json("worked");
}

最佳答案

好吧,所以我错误地定义了我的属性,例如,当我只期望来自 Geo 的字符串时,我定义了我的模型以期望 [] 数组。修复后,一切正常!

关于c# - ASP.NET Core 模型未通过 AJAX 绑定(bind)到 Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50955410/

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