Spark:LI Class取决于IF条件

时间:2011-03-07 17:34:09

标签: asp.net-mvc asp.net-mvc-3

我正在使用MVC3和Spark。

如果某个ViewBag元素设置为X,我需要向LI添加一个类。

<li id="menu-home" class="active?{ViewBag.Active=='home'}" >${Html.ActionLink("Home", "Index", "Site")}</li>

如上所述。这不起作用,但是想知道是否有办法解决这个问题?

1 个答案:

答案 0 :(得分:3)

以下是我采取的步骤,它对我有用:

  1. 使用默认模板和Razor视图引擎
  2. 创建一个新的ASP.NET MVC 3项目
  3. 安装Spark.Web.Mvc3 NuGet包。
  4. Index的{​​{1}}操作更改为:

    HomeController
  5. public ActionResult Index() { ViewBag.Active = "home"; return View(); } 重命名为~/Views/Home/Index.cshtml并将其显示如下:

    ~/Views/Home/Index.spark
  6. 运行项目

  7. 生成的HTML是:

    <li id="menu-home" class="active?{ViewBag.Active == 'home'}">
        ${Html.ActionLink("Home", "Index", "Site")}
    </li>
    
  8. 备注:每当我看到有人使用ViewBag而不是使用视图模型的强类型视图时,我觉得有义务将此视为不良做法。