asp.net mvc - pass partiel modèle de données à vue partielle

Je souhaite construire une vue partielle qui obtient un modèle de colonne et de l'imprimer.
Quelque chose comme ça:

À la vue:

@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)

Et à la vue partielle:

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

Il y a quelques problèmes que je rencontre:

  1. Le compilateur ne marche pas me permettre d'envoyer Barnd à la vue partielle.
  2. Si vous regardez la vue partielle de code, vous verrez le mot de la Marque, qui est le nom de la colonne. Je ne souhaite codé en dur le mot "Marque" dans la vue partielle, au lieu de cela, je voudrais que le nom de la colonne sera là.
  3. Dans la vue partielle j'ai besoin de mettre @modèle products_comparison.Modèles.Produit, mais je n'ai pas
    voulez envoyer le trou de la table. Je veux envoyer une seule colonne, Mais je ne sais pas quoi mettre là..

Merci!

EDIT:

Juste pour éclaircir une chose, je veux que le point de vue qui fera appel à la même vue partielle pour chaque colonne de la table(pour la plupart des colonnes dans la table de toute façon) et à chaque fois que je vais envoyer une autre colonne(distincte de la valeur de la colonne pour être exact).

OriginalL'auteur Nir | 2012-01-04