[英]ASP.NET MVC View Model - How do I display data in the View?
我正在學習ASP.NET MVC,看來ViewModels是將數據從Controller傳遞到View並允許在View中使用多個模型的推薦方法。 因此,我創建了具有以下內容的ProductViewModel:
public IEnumerable<Product> Products { get; set; }
public IEnumerable<ProductCategory> ProductCategories { get; set; }
public IEnumerable<ProductDescription> ProductDescriptions { get; set; }
在我的控制器中,我有:
ProductViewModel productViewModel = new ProductViewModel();
productViewModel.Products = db.Products.ToList();
productViewModel.ProductDescription = db.ProductDescription.ToList();
return View(productViewModel);
我遇到的問題是在視圖中遍歷此數據。 我可以使用foreach
遍歷例如Products
但是我不知道如何將其與ProductDescription
結合使用:
@model Site.ViewModels.ProductListingViewModel
@foreach (var item in Model.Products)
{
<tr>
<td>
@Html.DisplayFor(m => item.Name)
</td>
<td>
@Html.DisplayFor(m => item.ProductID)
</td>
<td>
@Html.DisplayFor(m => item.Color)
</td>
<td>
@Html.DisplayFor(m => item.Description???) - What do I actually need to write?
</td>
</tr>
}
由於Description列位於ProductDescription
,因此無法簡單地使用item.Description
進行訪問,因為item
專門指Products
。 我應該怎么做?
在這些情況下,我更喜歡循環。 為什么不使用for循環?
@for (int i=0;i<Products.Count;i++)
{
<tr>
<td>
@Html.DisplayFor(m => Products[i].Name)
</td>
<td>
@Html.DisplayFor(m => ProductDescription[i].Description)
</td>
</tr>
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.