Deseo construir una vista parcial que obtenga una columna modelo e imprimirla. Algo así:asp.net mvc - pase el modelo de datos parciales a la vista parcial
A la vista:
@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)
Y a la vista parcial:
<table>
<tr>
<th>
Brand
</th>
</tr>
@foreach (var row in Model)
{
<tr>
<td>
@Html.DisplayFor(r => row)
</td>
</tr>
}
</table>
Hay algunos problemas que me encuentro:
- El compilador no me permite enviar a Barnd a la vista parcial.
- Si mira el código de vista parcial, verá la palabra Marca, que es el nombre de la columna. No deseo codificar la palabra "Marca" en la vista parcial, prefiero que el nombre de la columna esté allí.
- En la vista parcial necesito poner @model products_comparison.Models.Product, pero no quiero querer enviar la tabla de agujeros. Quiero enviar solo una columna - Pero no sé qué poner allí ...
¡Gracias!
EDIT:
Sólo para aclarar una cosa, quiero que la vista se llame a la misma vista parcial para cada columna de la tabla (para la mayoría de las columnas en la tabla de todos modos) y cada vez que voy a envíe una columna diferente (columna de valor distintivo para ser exactos).
Su respuesta a 1 arreglaron .. Y yo editar mi pregunta .. – Nir
Gracias! Tu respuesta es genial! –
@Nir Normalmente es útil si 'Acepta' la respuesta que lo ayudó. (Por favor y gracias.) –