Мне любопытно узнать, как лучше всего подойти к следующему сценарию:
public class LittleThingViewModel
{
public string Id{ get; set; }
public string Name { get; set; }
public string Location { get; set; }
}
public class BigThingViewModel
{
public LittleThingViewModel little1 {get; set; }
public LittleThingViewModel little2 {get; set; }
public string propA {get; set; }
public string propB {get; set; }
public string propC {get; set; }
}
В начальном действии CREATE моего контроллера я заполняю две LittleThingViewModel, назначаю их новому BigThingViewModel и передаю его встрого типизированное представление.Затем я использую EditorFor для визуализации элементов управления редактирования для свойств BigThing A, B и C.
Каков наилучший метод для автоматического рендеринга LittleThingViewModels в форму таким образом, чтобы при отправке обратно в мой контроллер он автоматически связывался?(Моя цель - отображать только Имя и скрывать другие свойства)
public ActionResult Create(BigThingViewModel b)
Я обнаружил, что могу отображать свойства A, B и C в дополнение к каждому отдельному свойству двух подтипов LittleThing.viewmodels и он успешно связывает BigThingViewModel во время POST:
Html.DisplayFor(model=>model.little1.Name)
Html.HiddenFor(model=>model.little1.Name)
Html.HiddenFor(model=>model.little1.Id)
Html.HiddenFor(model=>model.little1.Location)
Существует ли метод, позволяющий мне автоматически отображать как метки, так и скрытые элементы вместо того, чтобы каждый раз выполнять их явно?
Что-то вроде:
Html.RenderFor(model=>model.little1)
Спасибо