У меня есть действие с такой подписью:
public ActionResult Index([ModelBinder(typeof(MyEnumModelBinder))] MyEnum myEnum)
, которое реализовано так:
public class MyEnumModelBinder: IModelBinder
{
public object BindModel(ControllerContext controllerContext, ModelBindingContext bindingContext)
{
var valueProviderResult = bindingContext.ValueProvider.GetValue("myEnum");
return valueProviderResult == null ?
MyEnum.Default :
valueProviderResult.AttemptedValue.ToMyEnum();
}
}
По сути, я привязываю необработанное значение кenum, довольно просто.Работает нормально.
Но обратите внимание, что для того, чтобы получить доступ к запрашиваемому значению, мне нужно использовать волшебную строку ("myEnum").
Есть ли способ, которым я могу предоставить этов связыватель модели, поэтому удалите волшебную строку?
Поскольку, если я хочу использовать связыватель модели в других местах, я должен убедиться, что я вызываю параметр "myEnum", иначе это вызовет время выполненияошибка.
Я пытался добавить ctor в связыватель модели, но нигде не могу его создать.
Есть идеи?