好的 MVC 新手。我曾问过this https://stackoverflow.com/questions/4647135/asp-net-mvc-sitemap-and-or-security-trimming早些时候提出问题并得到了答案,但我想知道是否有更简单的解决方案。
假设我有一个母版页,其中的菜单布局为无序列表。我将如何在当前选定的菜单项上设置 css 类?
EDIT:
我正在使用菜单,就像您启动新的 mvc 应用程序时开箱即用的设置一样
<ul id="menu">
<li><%: Html.ActionLink("Home", "Index", "Home")%></li>
<li><%: Html.ActionLink("About", "About", "Home")%></li>
</ul>
Jakub Konecki 的答案引导我走向正确的方向......这是我最终得到的控制器操作:
[ChildActionOnly]
public ActionResult MainMenu()
{
var items = new List<MenuItem>
{
new MenuItem{ Text = "Home", Action = "Index", Controller = "Home", Selected=false },
new MenuItem{ Text = "My Profile", Action = "Index", Controller = "Profile", Selected = false},
new MenuItem{ Text = "About", Action = "About", Controller = "Home", Selected = false }
};
string action = ControllerContext.ParentActionViewContext.RouteData.Values["action"].ToString();
string controller = ControllerContext.ParentActionViewContext.RouteData.Values["controller"].ToString();
foreach (var item in items)
{
if (item.Controller == controller && item.Action == action)
{
item.Selected = true;
}
}
return PartialView(items);
}
希望这对某人有帮助。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)