asp.net mvc - передать частичную модель данных в частичное представление

Я хочу построить частичное представление, которое получает столбец модели и распечатывает его. Примерно так:

В представлении:

@model IEnumerable<products_comparison.Models.Product>
@{
ViewBag.Title = "Index";

var Brand = (from r in Model
             select r.Brand).Distinct();
}
<h2>
Index</h2>

@Html.RenderPartial("_DisplayAttribute",Brand)

И в частичном представлении:

<table>
    <tr>
        <th>
            Brand
        </th>
    </tr>
    @foreach (var row in Model)
    {
        <tr>
            <td>
                @Html.DisplayFor(r => row)
            </td>
        </tr>
    }
</table>

Я столкнулся с несколькими проблемами:

  1. Компилятор не позволяет мне отправить Barnd в частичное представление.
  2. Если вы посмотрите на код частичного просмотра, вы увидите слово Brand, которое является названием столбца. Я не хочу жестко закодировать слово «Бренд» в частичном представлении, вместо этого мне нравится, что имя столбца будет там.
  3. В частичном представлении мне нужно поместить @model products_comparison.Models.Product, но я не хотите отправить таблицу отверстий. Я хочу отправить только одну колонку - Но я не знаю, что туда поместить ..

Спасибо!

РЕДАКТИРОВАТЬ:

Чтобы прояснить одну вещь, я хочу, чтобы представление вызывало одно и то же частичное представление для каждого столбца в таблице (в любом случае для большинства столбцов в таблице), и каждый раз я отправляю другой столбец (точнее, столбец с разными значениями).

8
задан Nir 4 January 2012 в 10:24
поделиться