为什么我不能在global.asax文件夹中添加自定义模型绑定器?

时间:2012-08-24 15:05:09

标签: c# asp.net-mvc global-asax custom-model-binder

我看到人们设置自定义模型绑定器的例子如下:

// global.asax
protected void Application_Start()
{
    ModelBinders.Binders.Add(typeof(YourModel), new YourBinder());
}

但是当我尝试时,它不会编译(找不到.Binders)。是什么给了什么?

1 个答案:

答案 0 :(得分:12)

事实证明,这只是一个命名冲突,因为我将自定义模型binder 放在名为" ModelBinders"的文件夹/名称空间中。您可以通过以下两种方式解决此问题之一:

  1. 将名称空间/文件夹重命名为其他名称,例如CustomModelBinders
  2. 使用ModelBinders的完全限定引用,如下所示:

    System.Web.Mvc.ModelBinders.Binders.Add( /* ... */ );