模型内的访问列表

时间:2013-11-22 09:16:07

标签: asp.net-mvc razor

我有以下型号:

public class Furniture
{
    public int Id { get; set; }
    public String Description { get; set; }
    public Decimal Retail { get; set; }
    public String Picture { get; set; }
}
public class Quotation
{
    public String zipCode { get; set; }
    public List<Furniture> furnitures { get; set; }
}

如何使用Razor查看View中的家具列表? 我们可以将复杂的结构(具有多个子结构级别)传递给MVC视图,还是将MVC视图限制为一个级别结构和IEnumerable?

3 个答案:

答案 0 :(得分:2)

@foreach (var furniture in Model.furnitures)
{
    <p>@furniture.Description</p>
    <p>Retail: @furniture.Retail</p>
    <img src="@furniture.Picture" />
}

像这样的东西。如果我理解你的意愿。

答案 1 :(得分:1)

是的,您可以将复杂对象传递给MVC中的View并访问其成员。您可以通过应用创建ViewModel的MVVM来传递给View。此模型包含要在视图中显示的所有数据,并由Controller创建。

答案 2 :(得分:0)

  1. 检查是否为Model.Property为空?
  2. 使用foreach循环访问列表中的每个对象。
  3. 现在您可以访问每个对象的值。

    @if (Model.furnitures != null)  
    { 
            foreach (var furniture in Model.furnitures )  
            { 
               <p>Description : @furniture.Description</p>
               <p>Retail : @furniture.Retail </p> 
               <img src="@furniture.Picture" />  
            } 
    }