ASP.NET MVC模型默认发布

时间:2010-01-13 22:17:21

标签: asp.net-mvc

我有一个ASP.NET MVC应用程序,其中我有每个视图模型的接口。

在名为/ Product / Details / 50的视图中,我可以编辑id = 50的产品的详细信息。

我使用强类型视图,类型为IProduct。我用Castle Windsor做DI。当我在/ Product / Details / 50视图上发布编辑表单时,IProduct实例默认为在同一个控制器中名为Details(int id)的HttpGet方法上设置的内容。

我想这与模型绑定有关。如果我将HttpPost方法Details(IProduct product)更改为Details(Product product),它似乎工作正常。

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

这里的问题是,当我们遇到IProduct时,我们不知道要实例化哪种类型。我们的模型粘合剂不与您的DI容器集成。在大多数情况下,我同意Charlino,你的域模型可能应该是基于接口的,但是你建模的对象应该是简单的POCO对象,它们代表了表单中发布的值。