Razor有条件的Foreach

时间:2013-08-05 13:19:59

标签: razor-2

这个片段有什么问题?

我收到“文字无法显示在...内”错误

如果你删除了if语句代码没问题。

<ul>
@foreach(MenuItem item in @Model.MenuItems)
{
  String controller = item.Controller;
  String activeCss = "";

  if (item.IsActive)
  {
        activeCss = "active"
  }

  <li>
        @HTML.ActionLink()
  </li>

}
</ul>

1 个答案:

答案 0 :(得分:0)

您是否发布了实际代码?您发布的问题存在一些问题,但这应该有效:

<ul>
@foreach(MenuItem item in Model.MenuItems) // No need for @ before Model inside code.
{
  String controller = item.Controller;
  String activeCss = "";

  if (item.IsActive)
  {
        activeCss = "active"; // Added ; here.
  }

  <li>
        @Html.ActionLink("Action", "Controller")
        // Html should not be upper-case, ActionLink requires arguments.
  </li>

}
</ul>