Использование строго типизированных помощников HTML с составными представлениями - PullRequest
0 голосов
/ 02 марта 2010

У меня есть простой регистрационный DTO с несколькими свойствами sting: Имя пользователя, Пароль, Электронная почта

Для представления я передаю строго типизированную ViewModel, которая сама имеет регистрацию DTO, но также имеет дополнительные свойства для отображения в представлении.

При использовании строго типизированных html-помощников в свойствах registrationDTO мне нужно указать Html.EditorFor (model => model.registrationDTO.Username), который затем сгенерирует имя и идентификатор поля как «registrationDTO.Username» и "registrationDTO_Username"

У меня два вопроса:

  1. Есть ли способ заставить строго типизированный помощник HTML принимать любой объект вместо того, который был передан в представление, чтобы я мог передать в RegistrationDTO?

  2. Если это невозможно, есть ли способ заставить помощника HTML отображать имя и идентификатор без первой части ("registrationDTO"). Почти аналогично тому, как префикс работает в ModelBinding.

1 Ответ

0 голосов
/ 03 марта 2010

объявление 1. вам не нужно помещать объект в HtmlHelper, вы можете использовать HtmlHelper и указать для него только имя и / или значение

ad 2. причина, по которой HtmlHelper генерирует этот профикс, состоит в том, что ваша модель содержит класс RegistrationDTO, который имеет имя пользователя, пароль и адрес электронной почты. Если вы хотите избавиться от префикса, поместите эти 3 поля в модель напрямую

...