ASP.NET MVC在创建实例时调用我的Dependency Resolver?

时间:2011-02-13 16:02:35

标签: asp.net-mvc dependency-injection inversion-of-control

我是ASP.NET MVC的新手,所以我希望我的问题有道理。我正在使用POCO对象作为我的模型。我的理解是,在提交表单时,MVC可以创建业务对象的新实例并自动填充表单中的属性。

我使用依赖注入,因此我使用如下代码创建新实例:

DependencyResolver.Current.CreateInstance(Of IBusObject)

如何让ASP.NET MVC调用此方法,而不是尝试通过在具体类上使用“new”关键字来创建新实例?

2 个答案:

答案 0 :(得分:3)

查看MVC源代码,在创建模型类型的实例时不会使用依赖项解析,因此您无法获得开箱即用的功能,但您可以通过创建自己的内容轻松实现所需模型绑定器,它是DependencyResolver。

答案 1 :(得分:2)

您可以编写从默认模型绑定器派生的自定义模型绑定器,并覆盖CreateModel方法以提供自定义实例。