小编Cas*_*ams的帖子

即使在JSON中它们为null,WebAPI也会实例化对象

将JSON模型发布到WebAPI控制器方法时,我注意到如果JSON模型中有空对象,模型绑定器将实例化这些项,而不是在服务器端对象中保留它们.

这与普通MVC控制器如何绑定数据形成对比...... 如果对象在JSON中为null,则不会实例化对象.

MVC控制器

public class HomeController : Controller
{
    [HttpPost]
    public ActionResult Test(Model model)
    {
        return Json(model);
    }
}
Run Code Online (Sandbox Code Playgroud)

WebAPI控制器

public class APIController : ApiController
{
    [HttpPost]
    public Model Test(Model model)
    {
        return model;
    }
}
Run Code Online (Sandbox Code Playgroud)

将获得POST的模型类

public class Model
{
    public int ID { get; set; }
    public Widget MyWidget { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

Model类中使用的类

public class Widget
{
    public int ID { get; set; }
    public string Name { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

当我将JSON模型发布到每个控制器时,这是我的结果: …

ajax asp.net-mvc jquery json asp.net-web-api

5
推荐指数
1
解决办法
534
查看次数

标签 统计

ajax ×1

asp.net-mvc ×1

asp.net-web-api ×1

jquery ×1

json ×1