I\'m creating a custom model binder in an Mvc application and I want to parse a string to an enumeration value and assign it to the model property. I have got it working overrid
First of all, BindProperty is not a part of IModelBinder but, a protected method in DefaultModelBinder. You can access it only if you are sub-classing the DefaultModelBinder.
The following points should answer your question:
So if you want proper validation (using the annotation attributes) you must definitely call BindProperty. By calling SetProperty you bypass all the built-in validation mechanisms.
You should check out the source code of DefaultModelBinder the see what each method does, since the intellisense provides only limited information.
I think SetProperty takes actual value to set as the last parameter.