窗体中的模型绑定
本文关键字:绑定 模型 窗体 | 更新日期: 2023-09-27 18:32:10
我正在尝试将json绑定到ASP .net MVC 4中的模型。模型已创建,但属性未填充。
我的JavaScript:
$.ajax({
type: 'POST',
url: "/Admin/" + method,
contentType: 'application/json; charset=utf-8',
data: JSON.stringify(form.serializeArray()),
success: function (data) {
if (data.Success == true) {
}
}
});
我的班级:
public class Taxes {
public int Id { get; set; }
public string Name { get; set; }
public decimal Rate { get; set; } }
我的方法:
[HttpPost]
public JsonResult AddTax(Taxes tax)
{
return Json(new { Success = true, tax.Id });
}
杰森:
[{"name":"Id","value":"1"},{"name":"Name","value":"fsdfs"},{"name":"Rate","value":"18"}]
结果是:
Id = 0
Name = Null
Rate = 0
好吧,你已经写了你的问题是什么,但你只是没有阅读它。您的来电JSON.stringify(form.serializeArray()) 正在为您生成以下内容:
[{"name":"Id","value":"1"},{"name":"Name","value":"fsdfs"},{"name":"Rate","value":"18"}]
它只能映射到这样的东西:
IEnumerable<SampleClass> model
其中 SampleClass 具有属性:
public class SampleClass
{
public string name {get;set;}
public string value {get;set;}
}
您需要不同类型的方法,其中将:
- 为您创建 JavaScript 对象
- 对于使用 form.serializeArray() 创建的数组的每个成员,它将使用名称 member.name 和值向对象添加属性会员值
然后,JSON.stringify 将生成 Tax 类的正确 JSON 表示形式。
在此处检查实现:
https://github.com/hongymagic/jQuery.serializeObject