在MVC 3中,我通过创建一个实现Systen.Web.Mvc.IModelBinder
的新类创建了自定义模型绑定器,然后使用Global.asax.cs
在Application_Start()
和ModelBinders.Binders.Add(typeof(sometype), new MyModelBinder());
内注册了它p>
在MVC 4中,我了解您应该使用System.Web.Http.ModelBinding.IModelBinder
来实现模型绑定器。
所以我有两个问题:
为什么我们应该使用System.Web.Http.ModelBinding
中的模型绑定器而不是Systen.Web.Mvc
中的模型绑定器?我没有看到它在任何地方被列为已弃用,那么旧版本有什么问题呢?
如果我从System.Web.Http.ModelBinding.IModelBinder
实现我的模型绑定器,如何在我的应用程序中注册它以便实际使用它?
答案 0 :(得分:5)
您可以以相同的方式注册模型绑定器(在Global.asax.cs中),也可以使用System.Web.Mvc.IModelBinder
界面。
但是,System.Web.Http命名空间基本上用于ASP.NET MVC Web API(即用于构建Web服务)。