Я хотел бы написать собственное связующее устройство для типа 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. Настройка настраиваемого привязки (аналогично пример Scott Hanselman), здесь нет необходимости.