LifeAct
@LifeAct
Создаем и раскручиваем, не ставим на конвейер

Как передать и использовать две IEnumerable модели в представление?

Как передать две IEnumerable модели в представление?

Всем привет! Ребят подскажите с нетривиальной задачей.
Необходимо вывести на страничку три колонки (bootstrap), причем первые две колонки содержат статьи, а третья интервью:
b789880916e14969bdef6b125d30ee02.jpg

таблица с записями:
ид, заголовок, тип_записи(1 - статья, 2 - интервью), дата публикации

1, статья номер один, 1, 01/01/2016 |
2, статья еще , 1, 02/01/2016|
3, интервью , 2, 02/01/2016 |
6, статья про это ,1, 03/01/2016|
8, статья очередная , 1, 03/01/2016|
25, интервью с ним, 2, 04/01/2016 |

Через VievBag не получается, он динамический, решил обе модели с данными в массив, но как в представлении отобразить не представляю...

Вот на чем остановился:

//контроллер
 public ActionResult GetArticlesf()
        {          

            IEnumerable<BusinessLayer.Record.Record>[] recordModel = new IEnumerable<BusinessLayer.Record.Record>[2];

//статьи
            recordModel[0] = recordsManager.GetArticleRecords(21, 1);

//интервью тип записи интервью - 2
            recordModel[1]  = recordsManager.GetArticleRecords(21, 2);
            return View("Articles", recordModel);
        }


представление
@model  IEnumerable<BusinessLayer.Record.Record>[]

@{int Cnt = 0; }

                    @foreach (var item in Model[0])
                    {
                        if (Cnt % 3 == 0)
                        {
                            @:<div class="row">
                             }

                        <div class="col-sm-4">

                            
                            <ul class="content-right-col-articles-list-page-article">                                

                                    <li>                                       
                                        <div class="content-right-col-article-text">
                                            <div class="h-wid"><p сlass="link-full">@Html.ActionLink(item.Title, "ArticleDetailed", new { id = item.id, SeoUrl = item.URLm }, new { @class = "link-full", @id = "someid" })</p></div>                                           
                                        </div>
                                    </li> 
                            </ul> 




                        </div>

                        { Cnt += 1; }

                        if (Cnt % 3 == 0)
                        {


                            <div class="col-sm-4">      
                                //это третья колонка интервью, выводим данные с второй модели     
                                @Model[1].Select ???????
                            
                            </div>


                                @:</div>

                        }

                    }


как тут получить определенную строку IEnumerable модели?
  • Вопрос задан
  • 300 просмотров
Решения вопроса 1
@Free_ze
Пишу комментарии в комментарии, а не в ответы
Попробуйте вместо IEnumerable использовать IList, там есть индексатор. Либо просто двумерный/jagged массив.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы