我尝试传递绑定数组而不是在参数中定义。例如,此代码:
[HttpPost]
[Route("Create")]
public ResultsItem Create([Bind(nameof(Person.Username), nameof(Person.Password))] Person)
{
...
}
它工作正常,但是,如果它变大,我会有一个很大的绑定列表。我想在课堂上定义它,如下所示:
Person.cs
public static readonly string[] BindInclude = new[] { nameof(Username), nameof(Password) };
public ResultsItem Create([Bind(Person.BindInclude)] Person newUser)
但是,我收到以下错误:
An attribute argument must be a constant expression, typeof expression or array creation expression of an attribute parameter type.
我理解错误,但是我想知道有没有人有这样做的好方法?让我们说我有一个大班,但是,我只想绑定6-10个属性。如何在不淹没控制器中的Bind[()]
的情况下执行此操作。