循环遍历作为列表传递的模型中的列表

时间:2014-06-18 18:02:21

标签: asp.net-mvc loops view

这是我作为列表传递给我的视图的模型:

    public class DogContentPage : ContentPage
    {

    public string Name { get; set; }
    public string Age { get; set; }
    public bool IsFemale { get; set; }

    public string Image { get; set; }
    public List<string> Merits { get; set; }
}

查看:

@model List<EmmysBlog_Core.Models.Dog.DogContentPage>

如您所见,模型包含字符串列表(Merits)。我在麻烦列表中遇到了麻烦。我怀疑这个问题的原因在于我将模型作为一个列表传递出去。我是否可以循环使用优点?

这次尝试:

@foreach (var item in Model)
       {
          <li>@item.Merits</li>
       }

只给我一份清单: System.Collection.Generic ...

我是否必须更改将模型传递给视图的方式,还是有另一种构造循环的方法来访问Merits中的值?

查看:

@foreach (var dogs in Model.Where(o => o.IsFemale))
                {
                    <div class="media">
                        <div class="col-md-4">
                            <a href="#">
                                <img src="@dogs.Image" style="width: 100%">
                            </a>

                        </div>

                        <div class="col-md-4" style="text-align: center;">
                            <a href="#"><h3 class="media-heading">@dogs.Name</h3></a>
                            @Html.ActionLink("Stamtavla", "Dog", "Home", new { pageId = dogs.Id }, null)

                        </div>
                        <div class="col-md-4">
                            <ul>
                                @foreach (var item in Model)
                                {
                                     foreach (var merit in item.Merits)
                                     {
                                         <li>@merit</li>
                                     }
                                }

                            </ul>

                        </div>
                    </div>
                }
                </div>
            </div>

2 个答案:

答案 0 :(得分:6)

只需为foreach列表

添加另一个Merits即可
@foreach (var item in Model)
   foreach (var merit in item.Merits)
   {
      <li>@merit</li>
   }

<强>更新

然后剥去外圈:

   foreach (var merit in dogs.Merits)
   {
       <li>@merit</li>
   }

答案 1 :(得分:1)

你需要做这样的事情:

@foreach (var item in Model)
   {
     <ul> 
     @foreach(var merit in item.Merits)
     {
         <li>@merit</li>
     }
     </ul>
   }