asp.net-mvc-4 - Spark View 引擎中的 C# 代码块?

标签 asp.net-mvc-4 spark-view-engine

Spark View Engine 可以像 Razor 一样处理 C# 代码块吗?例如,我在 Razor 中有以下内容:

@{
   var currentController = ViewContext.RouteData.Values["controller"] as string ?? "Home";
   var currentAction = ViewContext.RouteData.Values["action"] as string ?? "Index";
   var currentPage = (currentController + "-" + currentAction ).ToLower();
}

Spark View Engine 中的等效项是什么?然后我在 Razor 中使用类似的代码,并且我想在 Spark 中执行相同的操作。

<li @(currentPage == "home-index" ? "class = current" : "")>
    @Html.ActionLink("Home", "Index", "Home")
</li>

最佳答案

使用#来指示一行仅是代码,因此:

# var currentController = ViewContext.RouteData.Values["controller"] as string ?? "Home";
# var currentAction = ViewContext.RouteData.Values["action"] as string ?? "Index";
# var currentPage = (currentController + "-" + currentAction ).ToLower();

此外,如果您所做的只是声明变量,您可以这样做:

<var currentController="ViewContext.RouteData.Values['controller'] as string ?? 'Home'" />

您的用法如下:

<li class="current?{currentPage == "home-index"}">
    ${Html.ActionLink("Home", "Index", "Home")}
</li>

关于asp.net-mvc-4 - Spark View 引擎中的 C# 代码块?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15866902/

相关文章:

c# - 从 Spark 迁移到 Razor

node.js - Spark View 引擎与 Node.js?

asp.net - Html.Action 未创建指向 View 的链接

asp.net - 清理 ASP.NET MVC 应用程序中的输入

asp.net-mvc - ASP.NET MVC 3 和 4 之间的区别?

asp.net-mvc - Linux Mono 上的 SparkView 引擎

asp.net-mvc - ASP.NET MVC View 引擎比较

javascript - 根据下拉列表值删除字段 RSS 0 条回复 通过电子邮件订阅

asp.net - 从多个 Web.config 文件访问 appSettings

c# - 用双引号替换单引号