ASP MVC/Sharp-Architecture 初学者 - 操作如何获取域实体作为输入?
-
07-07-2019 - |
题
在处于该社区的边缘一段时间后,我正在为一个新项目尝试锐架构(和 ASP.NET MVC),但我有点困惑。在标准实体模板生成之后,我创建了一个消息类,我可以列出、创建、编辑和删除它们。
我正在查看“编辑(消息)”操作,但我无法弄清楚它如何获取消息的输入类型。您单击 btnSave 将表单提交到 消息/编辑?id=1 然后会发生什么?这是某个地方定义的约定吗?如果是的话在哪里?
解决方案
默认的模型绑定器正在为您完成工作。它反映在控制器动作上,尝试在通过反射找到的args中新建对象类型,然后读取formcollection并尝试进行一些解析以将formcollection的键与新建对象中的适当值匹配。
我说解析是因为可以表示视图中不完全平坦的对象,默认的模型绑定器通常可以使它们正确。虽然我没有这样做,因为我没有一个很好的用例,它可能传入多个对象并让模型绑定器“得到”它。如果没有,写一个可能的可能并不太可怕。
其他提示
我认为当您使用强类型视图时,框架会自动 new
通过检查所有表单输入并使用一些反射来填充相应的属性,为您创建一个正确类型的对象并将其传递给控制器操作。
不隶属于 StackOverflow