У меня есть объект сложной модели, который содержит несколько дочерних объектов, детализирующих состояние страницы, данные и конфигурацию. Дети модели определяются как базовые классы и фактически передаются как экземпляры классов потомков и передаются в визуализируемое представление.MVC 5 Html.LabelFor без использования модели
У меня есть объект модели, который передается ОК, и я могу создавать локальные переменные, которые хранят объекты данных и конфигурации, но теперь я хочу отображать некоторые значения в текстовых полях и их меток.
Здесь переменная создание в представлении:
@model PageBase
@{
PageConfigPersonal config = (PageConfigPersonal)Model.PageConfig;
PageDataPersonal data = (PageDataPersonal)Model.PageData;
}
Я не могу понять, каким образом, или если Html.TextBoxFor могут быть использованы с этими локальными переменными - это может быть сделано, и если да, то как ?
Я знаю, что могу нарисовать модель, но это будет действительно громоздким и беспорядочным, поэтому вместо этого нужно использовать локальную переменную.
Гордон
Я не думаю, что это правильно, как лямбда-выражение должно возвращать свойство внутри модели, 'config' is not –
Я могу подтвердить, что использование m => data.Name приводит к элементу управления с идентификатором «config.Name», который не работает при отправке обратно на сервер. На данный момент я кастую, используя ((PageDataPersonal) m.PageData) .Name, и это работает, хотя это несколько печатать. Я просто искал более простой способ. – OzTrak