Asp.Net Core 在 2.2 版本和 3.0 版本之间对模型绑定进行了一些变化。下面是一个包含代码示例的解决方法:
在 Asp.Net Core 2.2 版本中,可以通过使用 [FromForm]
特性将表单数据绑定到模型上。示例如下:
[HttpPost]
public IActionResult Create([FromForm] MyModel model)
{
// 使用绑定的模型进行后续操作
// ...
}
在 Asp.Net Core 3.0 版本中,可以将 [FromForm]
特性省略,直接将参数声明为 MyModel
类型,模型绑定会自动发生。示例如下:
[HttpPost]
public IActionResult Create(MyModel model)
{
// 使用绑定的模型进行后续操作
// ...
}
需要注意的是,在 Asp.Net Core 3.0 版本中,默认情况下,模型绑定不会处理复杂类型的属性。如果需要绑定复杂类型的属性,可以使用 [Bind]
特性显式指定属性的绑定行为。示例如下:
[HttpPost]
public IActionResult Create([Bind("Id,Name")] MyModel model)
{
// 只绑定 Id 和 Name 属性,忽略其他属性
// ...
}
以上是 Asp.Net Core 的模型绑定在 2.2 版本和 3.0 版本之间的变化和解决方法的示例代码。请根据实际情况选择适合你的版本的代码示例。