Отображение списка данных ViewModel в бритве - PullRequest
0 голосов
/ 22 мая 2018

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

Определение MyBigViewModel

public class MyBigViewModel
    {
        public List<FirstModel> FirstModel { get; set; }
        public List<SecondModel> SecondModel { get; set; }
        public List<ThirdModel> ThirdModel { get; set; }
        public List<FourthModel> FourthModel { get; set; }
        public List<FifthModel> FifthModel { get; set; }

    }

У меня есть некоторая бизнес-логика и на основе запроса (на основе одной модели) я попытаюсь заполнить модель представления.

List<MyBigViewModel> BigViewModel = new List<MyBigViewModel>();
    foreach (var SingleModel  in FirstModelList)
     {
        SecondModelResult = db.somequery;
        ThirdModelResult = db.somequery;
        FourthModelResult = db.somequery;
        FifthModelResult = db.somequery;

        MyBigViewModel TempViewModel = new MyBigViewModel{
            FirstModel  = FirstModelResult;
            SecondModel = SecondModelResult;
            ThirdModel  = ThirdModelResult;
            FourthModel = FourthModelResult;
            FifthModel  = FifthModelResult;
        }
        BigViewModel.Add(TempViewModel);

      }

Набор результатов в BigViewModel - это именно то, как я хотел, чтобы он был структурирован, но я не могу отобразить данные в бритве, используя для каждого.Когда я пытаюсь использовать @foreach (var item in Model) @Html.DisplayFor(modelItem => item.FirstModel.Name) не может получить доступ к нужным мне данным.

1 Ответ

0 голосов
/ 22 мая 2018

Попробуйте @foreach (var item in Model.FirstModel) для цикла И затем @Html.DisplayFor(item => item.Name)

Вы должны сделать это таким образом, поскольку вам нужно выполнять итерацию по каждому списку моделей, а не итерировать по одному экземпляру BigViewModel.

...