Я работаю с шаблоном ASP.NET MVC 4, и мне нужно руководство по проектированию макета сложного вида.
Я уже создал модель, которая получает данные, возвращаемые хранимой процедурой в БД SQL Server.Представление получает данные из модели в объекте IEnumerable<>
.Если бы вы просматривали необработанный вывод хранимой процедуры, это выглядело бы примерно так:
**Name** **Objects**
John Orange
John Banana
John Apple
Я использовал шаблон представления, чтобы создать простую таблицу на основе приведенной ниже логики, но, как и ожидалось, он отображаетсяточно так же, как он хранится в объекте IEnumerable<>
.Имя появляется в каждой строке вывода в таблице, как показано выше.
@model IEnumerable<projectname.Models.ObjectsModel>
<table class="table">
...
...
@foreach (var item in Model)
{
<tr>
<td>
@Html.DisplayFor(modelItem => item.Name)
</td>
<td>
@Html.DisplayFor(modelItem => item.Objects)
</td>
...
Вместо этого я хочу создать макет представления, который не находится в форме таблицы, который будет отображать имя в виде заголовка,объекты в виде маркированного списка и другие атрибуты в других местах, без избыточных данных .Моя проблема в том, что если я отображаю элементы в IEnumerable<>
, используя @foreach (var item in Model)
, я получаю три дубликата записи, поскольку значения в поле Name
не являются уникальными.
Что такоеспособ «лучшей практики» для этого? Может кто-нибудь указать мне правильное направление?