他们是否更改了AspNetCore中的某些内容,不再允许您在POST操作中使用参数名称"model"?
如果我这样做,设备模型属性值将在回发时填充:
[HttpPost]
public IActionResult Create(DeviceModel device)
但是,如果我将参数名称从"设备"更改为"模型",则属性值为空。
[HttpPost]
public IActionResult Create(DeviceModel model)
这是AspNetCore中的错误还是他们改变了什么?
我找不到任何说该参数不能称为"模型"的内容,并且在以前的 MVC 版本中这工作正常。
请记住,您还可以执行以下操作:
[HttpPost]
public IActionResult Create(string model)
这将采用发布为"模型"的键并获取其字符串值。从您的评论中,您的类中有一个名为 Model
的属性。这意味着您发布的数据包含一个名为"模型"的键。
框架首先尝试反序列化已发布Model
的值,并将其值分配给DeviceModel model
,因为名称匹配。反序列化失败后,您将拥有一个具有默认值的 model
对象。