Я хотел бы написать свою собственную подшивку модели для типа DateTime
. Прежде всего, я хотел бы написать новый атрибут, который я мог бы прикрепить к своему свойству модели, например:
[DateTimeFormat("d.M.yyyy")]
public DateTime Birth { get; set,}
Это легкая часть. А вот связующая часть немного сложнее. Я хотел бы добавить новую подшивку модели для типа DateTime
. Я могу либо
- реализовать
IModelBinder
интерфейс и написать свойBindModel()
метод - унаследовать от
DefaultModelBinder
и переопределитьBindModel()
метод
У моей модели есть свойство, как показано выше (Birth
). Поэтому, когда модель пытается привязать данные запроса к этому свойству, вызывается BindModel(controllerContext, bindingContext)
моего связывателя модели. Все ок, но. Как мне получить атрибуты свойств из контроллера / bindingContext для правильного анализа даты? Как я могу добраться до PropertyDesciptor
собственности Birth
?
Редактировать
Из-за разделения задач мой класс модели определен в сборке, которая не ссылается (и не должна) ссылаться на сборку System.Web.MVC. Настроить настраиваемые атрибуты привязки (аналогично пример Скотта Хансельмана) здесь нельзя.