asp.net 5:使用Include参数绑定属性 - include不是有效的命名属性参数

Kur*_*125 6 attributes model-binding asp.net-core-mvc asp.net-core

我从文章中编写代码,并且有:

public IActionResult Create([Bind(Include="Imie,Nazwisko,Stanowisko,Wiek")] Pracownik pracownik)
{
    blablablab
}
Run Code Online (Sandbox Code Playgroud)

我想编译,但它显示错误.

 include is not a valid named attribute argument.
Run Code Online (Sandbox Code Playgroud)

但在互联网上我看到了类似于我的代码的代码.有人向我解释发生了什么事吗?当然,我使用的是asp.net 5.

hai*_*770 9

在Asp.Net Core中,该Include属性不再具有setter.您需要使用构造函数传递绑定属性列表:

public BindAttribute(params string[] include)
{
    Include = include;
}
Run Code Online (Sandbox Code Playgroud)

在你的情况下:

public IActionResult Create([Bind("Imie","Nazwisko","Wiek")] Pracownik pracownik)
Run Code Online (Sandbox Code Playgroud)

  • 这太棒了!结合nameof(),我们可以绑定没有魔术字符串. (4认同)
  • 换句话说,“只需删除`Include =`” (2认同)