1

Ich habe eine Aktion, die ich ein benutzerdefiniertes Model Binder einfügen möchte. Ich möchte kein globales Bindemittel. Ich möchte nur die Binder auf Aktionen, die ich mit [ModelBinder (...)]So platzieren Sie eine benutzerdefinierte Modellbinder auf einer Controller-Aktion

angeben Wenn ich den folgenden Code verwenden, wird meine Binder nie aufgerufen und meine Aktion auch nicht.

public IActionResult MyContactInfo([ModelBinder(BinderType = typeof(Binders.TrimModelBinder), Name = "TrimModelBinder")] MyAccountModel mam) 
{ 
    //... 
} 

Stack Trace:

bei Microsoft.Extensions..Internal.ActivatorUtilities.GetService (IServiceProvider sp, Typ Typ, Typ requiredBy, Boolean isDefaultParameterRequired) bei lambda_method (Closure, IServiceProvider, Object []) bei Microsoft.AspNetCore.Mvc.ModelBinding.Binders.BinderTypeModelBinder.d__2.MoveNext() --- Ende der Stack-Trace aus früheren Stelle, wo Ausnahme ausgelöst wurde ---

Blick S wie muss ich diesen Ordner irgendwo registrieren?

Antwort

1

Try Name Eigenschaft auf Ihrem ModelBinder Attribut zu entfernen, und vergessen Sie nicht den tatsächlichen Ergebniswert in Bindemittel, um den nächsten Code verwendet:

bindingContext.Result = ModelBindingResult.Success(resultModel);

Verwandte Themen