Томас и Джордж, вы должны установить поставщика значений в ModelBindingContext.Ниже приведен пример кода в моем действии Индекс HomeController, который создает тип и использует механизм связывания модели по умолчанию для увлажнения объекта.Это просто упрощенная версия, в моем производственном коде я фактически ввожу параметр в действие контроллера, которое является типом, а затем динамически создаю тип на лету, прекрасно работает, когда вы хотите отправить более одного типа в одно действие контроллера,Обратите внимание, что ValueProvider и ControllerContext являются свойствами контроллера.
HomeModel test = new HomeModel();
ModelMetadata metadata = ModelMetadataProviders.Current.GetMetadataForType(() => test, test.GetType());
ModelBindingContext modelBindingContext = new ModelBindingContext { ModelMetadata = metadata, ValueProvider = ValueProvider};
DefaultModelBinder defaultModelBinder = new DefaultModelBinder();
defaultModelBinder.BindModel(ControllerContext, modelBindingContext);