Search code examples
c#asp.net-mvcglobal-asaxcustom-model-binder

Why can't I add my custom model binder in my global.asax folder?


I see examples all over the net of people setting up their custom model binders like this:

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

But when I try that, it doesn't compile (.Binders isn't found). What gives?


Solution

  • It turns out this was just a naming conflict because I had put my custom model binder in a folder/namespace called "ModelBinders". You can fix this one of two ways:

    1. Rename the namespace/folder to something else, e.g. CustomModelBinders
    2. Use a fully qualified reference to the ModelBinders like this:

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