绑定(包含 = " "、" " 等)是否必要



默认情况下,当我使用实体框架创建一个使用Crud Action Results创建控制器时,它们看起来像这样:

[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Create([Bind(Include = "ID, Property1, Property2")] ClassName object)
{
    // do whatever
}
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Edit([Bind(Include = "ID, Property1, Property2")] ClassName object)
{
    // do whatever
}

[Bind(Include = "ID, Property1, Property2")]是必需的吗?我为什么不能这样做?

[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Edit(ClassName object)
{
    // do whatever
}

您绝对可以在没有绑定的情况下做到这一点,但请注意,它将将编辑函数暴露于潜在的参数注入中。为了清楚起见,假设您正在进入类,foo和foo具有其他属性,例如property3和property4,然后通过不使用绑定限制该方法,该方法将允许和接受这些附加属性的值,这可能不是您想要/打算的。

tl; dr:不需要绑定。

最新更新