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

Øyv*_*hen 6 asp.net-mvc model-binding asp.net-mvc-4

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

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

所以我有两个问题:

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

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

las*_*s88 5

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

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