Innstilling av typen et objekt en tilpasset bindemiddel ville gjelde for en vNext søknaden?

stemmer
1

Hvordan ville du angi hvilken type objektet du vil bindemiddelet skal gjelde for eksempel:

ModelBinders.Binders.Add(typeof(Person), new PersonModelBinder());

i en vNext søknaden?

Jeg kan se at ModelBinders.Add har 3 overbelastning,

1) IModelBinder
2) ModelBinderDescriptor
3) Type

men jeg er ikke sikker på hvordan å oversette den gamle koden til denne nye koden? I utgangspunktet ønsker jeg denne type ting:

    services.AddMvc().Configure<MvcOptions>(options =>
    {
        options.ModelBinders.Add(typeof(Person), new PersonModelBinder()));
    });

Takk! btw, jeg har sett her også .

Publisert på 12/12/2014 klokken 20:32
kilden bruker
På andre språk...                            


1 svar

stemmer
1

Dette virker faktisk som et tomrom i MVC 6. For nå må du skrive inn koden direkte i din bindemiddel.

 public Task<bool> BindModelAsync(ModelBindingContext bindingContext)
 {      
    if (bindingContext.ModelType == typeof(Person))
    {
        var value = // get the value
        bindingContext.Model = value;

        return Task.FromResult(true);
    }

    return Task.FromResult(false);
 }

Her og her er en lignende kode som brukes i rammeverket for å implementere[FromHeader]

Her er en link til et problem tracking bringe tilbake en lignende overbelastning til MVC 5.

Svarte 15/12/2014 kl. 05:50
kilden bruker

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more