在MVC 4中注册自定义模型绑定器

时间:2013-04-11 12:43:53

标签: asp.net-mvc asp.net-mvc-4 model-binding

在MVC 3中,我通过创建一个实现Systen.Web.Mvc.IModelBinder的新类创建了自定义模型绑定器,然后使用Global.asax.csApplication_Start()ModelBinders.Binders.Add(typeof(sometype), new MyModelBinder());内注册了它p>

在MVC 4中,我了解您应该使用System.Web.Http.ModelBinding.IModelBinder来实现模型绑定器。

所以我有两个问题:

  1. 为什么我们应该使用System.Web.Http.ModelBinding中的模型绑定器而不是Systen.Web.Mvc中的模型绑定器?我没有看到它在任何地方被列为已弃用,那么旧版本有什么问题呢?

  2. 如果我从System.Web.Http.ModelBinding.IModelBinder实现我的模型绑定器,如何在我的应用程序中注册它以便实际使用它?

1 个答案:

答案 0 :(得分:5)

您可以以相同的方式注册模型绑定器(在Global.asax.cs中),也可以使用System.Web.Mvc.IModelBinder界面。

但是,System.Web.Http命名空间基本上用于ASP.NET MVC Web API(即用于构建Web服务)。