Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/31.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 表单的模型绑定_C#_Asp.net_Asp.net Mvc_Json_Asp.net Mvc 4 - Fatal编程技术网

C# 表单的模型绑定

C# 表单的模型绑定,c#,asp.net,asp.net-mvc,json,asp.net-mvc-4,C#,Asp.net,Asp.net Mvc,Json,Asp.net Mvc 4,我正在尝试将json绑定到ASP.NETMVC4中的模型。模型已创建,但属性未填充 我的javascript: $.ajax({ type: 'POST', url: "/Admin/" + method, contentType: 'application/json; charset=utf-8', data: JSON.stringify(form.serializeArray()), success: func

我正在尝试将json绑定到ASP.NETMVC4中的模型。模型已创建,但属性未填充

我的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 });
}
Json:

[{"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
您需要不同类型的方法,该方法将:

  • 为您创建javascript对象
  • 对于使用form.serializeArray()创建的数组的每个成员,它将 将属性添加到名为member.name且值为的对象 成员价值
  • 然后,JSON.stringify将为您的类生成正确的JSON表示

    检查此处的实现:


    你能解释一下你已经尝试过什么吗?试试这个json,它会填满你的模型[{“Id”:“1”,“Rate”:“18”,“Name”:“fsdfs”}]。
    public class SampleClass
        {
             public string name {get;set;}
             public string value {get;set;}
        }