在我的控制器中,我将返回带有产品列表的View。
返回视图(ProductList)
在我看来,我希望获得产品列表 WITHOUT 的所有值,通过for循环或任何其他方式迭代它们。
我需要这样做,因为我将在视图中以不同的方式设计每个产品,并且我不能为每个循环使用a
第一个productId可以使用 Model.Firstordefault()。ProductId 。同样,我可以获得productName,productDescription等。
但是如何在列表中获得第二个productId到第n个productId?
由于 ARNAB
答案 0 :(得分:1)
这是显示模板的绝佳选择。在您的强类型视图中:
@model IEnumerable<ProductViewModel>
<table>
<thead>
<tr>
<th>Id</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
@Html.DisplayForModel()
</tbody>
</table>
然后定义一个显示模板,该模板将自动为集合的每个元素(~/Views/Shared/DisplayTemplates/ProductViewModel.cshtml
)呈现:
@model ProductViewModel
<tr>
<td>@Html.DisplayFor(x => x.Id)</td>
<td>@Html.DisplayFor(x => x.Name)</td>
<td>@Html.DisplayFor(x => x.Description)</td>
</tr>
Templated helpers按惯例工作,您永远不必在视图中编写任何循环。