当调用操作参数时,模型属性值在 POST 上为空"model"



他们是否更改了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 对象。

最新更新