Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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?

like image 533
Michael Haren Avatar asked Aug 24 '12 15:08

Michael Haren


1 Answers

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( /* ... */ );

like image 153
Michael Haren Avatar answered Sep 22 '22 17:09

Michael Haren