MVC View Model show Подробная информация
Я надеюсь это имеет смысл.
Я создал класс, подобный следующему, который использует 3 таблицы (TerrRp, RegMg, DistMg), которые я использую в View Model:
public class RepViewModel
{
public IEnumerable<TerrRp> TerrRp { get; set; }
public IEnumerable<RegMg> RegMg { get; set; }
public IEnumerable<DistMg> DistMg { get; set; }
}
Мне нужно показать подробную информацию для одного из перечисленных выше состояний (таблица TerrRp) и не уверен, как это сделать, так как я не могу получить доступ к полям в
через что-то вроде (в этом случае я пытаюсь получить доступ к Terr_ID):
<div class="display-label">Terr_ID</div>
<div class="display-field">
@Html.DisplayFor(model => model.Terr_ID)
</div>
Имеется в виду, как я могу сказать DisplayFor, что нужно захватить таблицу TerrRp и показать Terr_ID, поскольку мне нужно сначала получить доступ к RepViewModel, затем TerrRp, а затем Terr_ID? Надеюсь, это имеет смысл.
1 ответ
Чтобы показать список связанных объектов:
Использование строго типизированного представления с заголовком
@model namespace.RepViewModel
Вы должны быть в состоянии пройти через объекты TerrRp с
@foreach (var Rp in Model.TerrRp)
{
<div class="display-label">Terr_ID</div>
<div class="display-field">
@Html.DisplayFor(Rp => Rp.Terr_ID)
</div>
}
Если вы считаете, что должен быть только один объект TerrRp, связанный с RepViewModel, то вы можете использовать методы First() или FirstOrDefault() в IEnumerable.
<div class="display-label">Terr_ID</div>
<div class="display-field">
@Html.DisplayFor(model => model.TerrRp.FirstOrDefault().Terr_ID)
</div>
Вы можете захотеть сделать подсчет для объекта Model.TerrRp, чтобы убедиться, что есть одна и только одна запись.