MVC 5,[HttpPpost]创建方法:Bind(Include ="属性列表......")修饰符 - 预期用途?

Kha*_*man 5 asp.net-mvc asp.net-mvc-5

有人可以在以下方法签名中阐明"绑定"修饰符的用法吗?

    [HttpPost]
    [ValidateAntiForgeryToken]
    public ActionResult Create([Bind(Include = "List of model propertires.....")] MyModel model)
    {
    }
Run Code Online (Sandbox Code Playgroud)

我可以使用它将发布的值绑定到与我构建视图的模型不同的模型吗?

谢谢.

小智 3

是的,您可以使用绑定将值绑定到不同的模型。绑定属性允许您指定模型绑定器应包含在绑定中的确切属性。

  • 人们普遍认为,MVC 的“[Bind]”功能的使用是一种**反模式**。公认的解决方案是使用单独的模型来消除 http://en.wikipedia.org/wiki/Mass_assignment_vulnerability 的风险,而不是依赖于使用 Bind 的约定。只要 1 个人忘记使用 Bind,就会无意中允许某人利用批量分配。 (4认同)