2014-02-18 82 views
3

我可以枚举剃刀模型中的列表吗?在MVC剃须刀中显示模型列表

我的模型:

public class PreapprovalViewModel 
{ 
    public int ProjectId { get; set; } 
    public int Decision { get; set; } 
    public List<BranchHead> BranchHeads { get; set; } 
    public List<SelectListItem> Decisions { get; set; } 
} 

论预先批准的指数我希望有一个表中显示了BranchHead列表内的一些领域。

剃刀:

@model Mars.Intranet.ViewModels.PreapprovalViewModel 
@{ 
    ViewBag.Title = "Index"; 
} 
@Html.Partial("_ProjectPartial") 
<h2>Preapproval</h2> 
@using (Html.BeginForm()) { 
    <div> 
     Approve research request: 
     @Html.DropDownListFor(o => o.Decision, Model.Decisions) 
    </div> 
    <div id="assign-branch-head" style="display: none;"> 
     Assign branch heads 
     <table> 
      <tr> 
       <th>@Html.DisplayFor(o => o.BranchHeads.BranchName</th> <!-- Can I access the list in the model like this?--> 
       <th>@Html.DisplayFor(o => p.BranchHeads.FirstName</th> <!-- Can I access the list in the model like this?--> 
       <th>@Html.DisplayFor(o => p.BranchHeads.Comment</th> <!-- Can I access the list in the model like this?--> 
      </tr> 
      <tr> 
       <td><!-- I want the info from the list in model here--></td> 
       <td><!-- I want the info from the list in model here--></td> 
       <td><!-- I want the info from the list in model here--></td> 
      </tr> 
     </table> 
    </div> 
    <div class="approval-comment"> 
     Comment: 
     @Html.TextAreaFor(o => o.Comment) 
    </div> 
    <button type="submit" class="btn_submit"></button> 
} 

回答

7

是的,这是完全可能的。但由于这是一个List<T>,您需要遍历它才能显示数据。

只是包装在foreach循环

@foreach (var item in Model.BranchHeads) 
{ 
    <tr> 
     <td> 
      @Html.DisplayFor(modelItem => item.BranchName)<br/>      
     </td> 
     <td> 
      @Html.DisplayFor(modelItem => item.FirstName)<br/>      
     </td> 
     <td>     
      @Html.DisplayFor(modelItem => item.Comment)<br/> 
     </td> 

    </tr> 
} 

此外你的数据,你可能需要使用Html.DisplayNameFor()显示表头。

+0

是的,这看起来就像我需要的东西。谢谢 – Carel