Привязка привязки пользовательской модели передана из DefaultModelBinder в Startup.cs - PullRequest
0 голосов
/ 23 января 2019

Я создал приведенный ниже пользовательский механизм связывания,

Теперь я пытаюсь зарегистрировать его в Startup.cs.Кто-нибудь знает, как это сделать?

ModelBinders.Binders.Add (typeof (IStepViewModel), новый StepViewModelBinder ());

public class StepViewModelBinder : DefaultModelBinder
{
    protected override object CreateModel(ControllerContext 
        controllerContext, ModelBindingContext bindingContext, Type 
        modelType)
    {
        var stepTypeValue = 
            bindingContext.ValueProvider.GetValue("StepType");
        var stepType = 
            Type.GetType((string)stepTypeValue.ConvertTo(typeof(string)), 
            true);
        var step = Activator.CreateInstance(stepType);
        bindingContext.ModelMetadata = 
            ModelMetadataProviders.Current.GetMetadataForType(() => step, 
            stepType);
        return step;

    }

}
...