2014-06-18 34 views
4

這是我傳遞給我的視圖列表中選擇型號:遍歷一個列表通過列表模式

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> 

正如你所看到的模型包含的列表字符串(優點)。我有麻煩循環通過優點列表。我懷疑這是因爲我將這個模型作爲一個列表傳遞給我。我是否有可能通過優點循環?

這種嘗試:

@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> 

回答

4

只需要添加另外foreachMerits列表

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

更新

然後,只需剝離外部循環:

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

啊哈謝謝!我必須記住這一個!將標記爲答案儘快 – user2915962

+0

您的回答完全符合我的要求。然而,我的問題還不夠清楚。事情是,你幫助的代碼被包含在另一個循環中。這給我帶來了一些麻煩,因爲它會循環我所有的狗的優點。如果你有時間,請看我的編輯。 – user2915962

+1

查看答案更新 –

1

你需要做這樣的事情:

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