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