相关疑难解决方法(0)

在MVC 3 Razor中获得活动页面链接的更好方法

当我希望特定菜单链接在给定页面上处于活动状态时,我在Razor中使用这种方法:

在主布局上,我有这些检查:

var active = ViewBag.Active;
const string ACTIVE_CLASS = "current";

if (active == "home")
{
    ViewBag.ActiveHome = ACTIVE_CLASS;
}
if (active == "products")
{
    ViewBag.ActiveProducts = ACTIVE_CLASS;
}
Run Code Online (Sandbox Code Playgroud)

等等

主布局上的html菜单:

<ul>
<li class="@ViewBag.ActiveHome"><a href="/">Home</a></li>
<li class="@ViewBag.ActiveProducts"><a href="@Url.Action("index", "products")">Products</a></li>
</ul>
Run Code Online (Sandbox Code Playgroud)

指定在不同视图上使用的布局页面时:

@{
    ViewBag.Active = "home";
    Layout = "~/Views/Shared/_Layout.cshtml";
}
Run Code Online (Sandbox Code Playgroud)

有没有比我目前使用的更好的方法来分离活动链接?

c# razor asp.net-mvc-3

54
推荐指数
2
解决办法
3万
查看次数

标签 统计

asp.net-mvc-3 ×1

c# ×1

razor ×1