protected override void BindProperty( ControllerContext controllerContext, ModelBindingContext bindingContext, PropertyDescriptor propertyDescriptor) { var propertyBinderAttribute = propertyDescriptor.TryFindPropertyBinderAttribute(); if (propertyBinderAttribute != null) { var binder = this.CreateBinder(propertyBinderAttribute); var value = binder.BindModel(controllerContext, bindingContext, propertyDescriptor); propertyDescriptor.SetValue(bindingContext.Model, value); } else { base.BindProperty(controllerContext, bindingContext, propertyDescriptor); } }