POST JSON到ASP.NET MVC5? (不是网络API)

时间:2017-05-26 13:50:23

标签: json post asp.net-mvc-5 json.net

有没有办法将JSON数据发布到MVC5操作? 不是WebAPI!

问题是:我的动作被调用,但传入模型的所有属性都为空。

型号:

using Newtonsoft.Json;

[JsonObject()]
[Serializable()]
public class DemoModel
{
    [JsonProperty()]
    public string a { get; set; }

    [JsonProperty()]
    public string b { get; set; }
}

行动是:

[HttpPost()]
public ActionResult demoaction(DemoModel model)
{
    //model.a here is null, should be "AAA"
    //model.b here is null, should be "BBB"
}

我一直在使用Fiddler来模拟请求。我的POST请求如下所示:

POST http://localhost:9000/demoaction HTTP/1.1
Host: localhost:9000
Connection: keep-alive
Accept: */*
Content-Type: application/json
Content-Length: 60

身体看起来像这样:

{"a":"AAA","b":"BBB"}

那么,问题又一次:如何将JSON发布到动作中?在我的例子中,模型的所有属性都是null。

1 个答案:

答案 0 :(得分:0)

我只是使用这些代码,它在MVC5操作上运行良好 但请确保您在POST请求标头中使用Content-Type : application/json,但它无法正常工作且模型仍为null

public class DemoModel
    {

        public string a { get; set; }


        public string b { get; set; }
    }

[HttpPost]
        public ActionResult Index(DemoModel model)
        {

            return View();
        }