Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net ASP MVC/Sharp架构初学者-操作如何获取域实体作为输入?_.net_Asp.net Mvc_S#arp Architecture - Fatal编程技术网

.net ASP MVC/Sharp架构初学者-操作如何获取域实体作为输入?

.net ASP MVC/Sharp架构初学者-操作如何获取域实体作为输入?,.net,asp.net-mvc,s#arp-architecture,.net,Asp.net Mvc,S#arp Architecture,在社区边缘呆了一段时间后,我正在为一个新项目试用sharp架构(和ASP.NET MVC),我有点困惑。在标准实体模板生成之后,我创建了一个类消息,可以列出、创建、编辑和删除它们 我正在查看编辑(消息)操作,但我一辈子都搞不清楚它是如何获得消息的输入类型的。单击btnSave,它会将表单提交到消息/编辑?id=1,然后会发生什么?这是某个地方定义的惯例吗?如果是,在哪里?我认为当您使用强类型视图时,框架会自动为您创建一个正确类型的对象,并将其传递给控制器操作,通过检查所有表单输入并使用一点反射来

在社区边缘呆了一段时间后,我正在为一个新项目试用sharp架构(和ASP.NET MVC),我有点困惑。在标准实体模板生成之后,我创建了一个类消息,可以列出、创建、编辑和删除它们


我正在查看编辑(消息)操作,但我一辈子都搞不清楚它是如何获得消息的输入类型的。单击btnSave,它会将表单提交到消息/编辑?id=1,然后会发生什么?这是某个地方定义的惯例吗?如果是,在哪里?

我认为当您使用强类型视图时,框架会自动为您创建一个正确类型的对象,并将其传递给控制器操作,通过检查所有表单输入并使用一点反射来填充相应的属性。

我认为当您使用强类型视图时,框架会自动为您创建一个正确类型的对象,并将其传递给控制器操作,通过检查所有表单输入并使用一点反射来填充相应的属性。

默认的模型绑定器正在为您完成这项工作。它对控制器操作进行反射,尝试在通过反射找到的参数中更新对象的类型,然后读取formcollection并尝试进行一些解析,以将formcollection的键与新更新对象中的适当值相匹配


我之所以说解析,是因为它可以表示视图中不完全平坦的对象,而默认的模型绑定器通常可以正确地表示这些对象。虽然我没有这样做,因为我没有一个很好的用例,但可能会传入多个对象,并让模型绑定器“获取”它。如果没有,那么写一个可以的就不太可怕了。

默认的模型绑定器正在为您完成这项工作。它对控制器操作进行反射,尝试在通过反射找到的参数中更新对象的类型,然后读取formcollection并尝试进行一些解析,以将formcollection的键与新更新对象中的适当值相匹配


我之所以说解析,是因为它可以表示视图中不完全平坦的对象,而默认的模型绑定器通常可以正确地表示这些对象。虽然我没有这样做,因为我没有一个很好的用例,但可能会传入多个对象,并让模型绑定器“获取”它。如果不是的话,写一个可以的就不太可怕了。

那么您是说模型绑定器将表单post字段绑定回模型,对吗?那么我想可以用你自己的?是的,当然可以。Google“asp.net mvc default modelbinder”您在global.asax中注册了它,您是说模型绑定器将表单post字段绑定回模型,对吗?那么我想可以用你自己的?是的,当然可以。Google“asp.net mvc默认modelbinder”您可以在global.asax中注册它