Foreach循环在.cshtml中不起作用

时间:2014-03-20 21:16:38

标签: asp.net asp.net-mvc html razor

我的问题:我想通过_Layout.cshtml列出类别,我使用Partial View来做到这一点。

我在_Layout.cshtml文件中有这个:

@{Html.RenderAction("GenreMenu", "Shop");}

在GenreMenu.cshtml中,当我写这篇文章时,一切正常:

@model IEnumerable<webshop.Models.Genre>
<div class="list-group" style="float: left">   

      <a href="#" class="list-group-item">FPS</a>      
      <a href="#" class="list-group-item">Manager</a>
      <a href="#" class="list-group-item">Strategy</a>   
</div>

但是当我使用这种方式时,没有任何反应(没有例外,没有,它只是不会创建列表:

<div class="list-group" style="float: left">  
    @foreach (var item in Model)
    {
        <a href="#" class="list-group-item">@item.Name</a>
    }
</div>

我错过了什么?

1 个答案:

答案 0 :(得分:0)

您需要将模型传递给partial或返回partial的动作。

您可以使用以下内容,只要它与您的局部模型匹配即可。

@Html.Partial("GenreMenu", "Shop", Model)

或者将其传递给返回部分

的动作
@Html.Action("GenreMenu", "Shop", Model)