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, чтобы убедиться, что есть одна и только одна запись.

Другие вопросы по тегам