Я использую пользовательские шаблоны редактора для большинства своих форм, но, пытаясь использовать их для отображения пользовательского средства выбора объектов, я не нашел простого способа передать информацию о содержащемся контексте в шаблон редактора.
В частности, моя основная форма отображает редактирование для объекта домена, а шаблон редактора должен отображать средство выбора AJAX, которое содержит список объектов, зависящих от идентификатора объекта домена. В настоящее время я передаю идентификатор, используя параметр additionalViewData
, который, как мне кажется, подвержен ошибкам и поэтому довольно уродлив.
Моя форма содержит код, подобный следующему:
@Html.EditorFor(model => model.CategoryId, new { id = model.id })
Шаблон редактора содержит следующий код:
@{
var domainObjectId = ViewData["id"] as int?;
}
Я использую пользовательский ModelMetadataProvider
для выбора шаблона редактора средства выбора объектов и надеюсь использовать аналогичную технику для передачи информации о содержащей модели в шаблон редактора, но это не представляется возможным.
Итак, мои вопросы:
- Можно ли использовать
ModelMetadataProvider
для передачи информации о содержащейся модели в шаблон редактора? - Если нет, есть ли более аккуратный/простой способ добиться того, что я пытаюсь, помимо передачи каждой части дополнительной информации через слабо типизированный параметр
additionalViewData
?
Заранее спасибо!