选择ASP.NET MVC菜单项

前端之家收集整理的这篇文章主要介绍了选择ASP.NET MVC菜单项前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
好的新MVC。我早些时候问了 this问题,得到了一个答案,但我想知道是否有一个更简单的解决方案。

说我有一个主页,其中列出了无序列表的菜单。如何在当前选择的菜单项上设置一个css类?

编辑:

当我启动一个新的mvc应用程序时,我正在使用菜单,就像它的设置一样

  1. <ul id="menu">
  2. <li><%: Html.ActionLink("Home","Index","Home")%></li>
  3. <li><%: Html.ActionLink("About","About","Home")%></li>
  4. </ul>

解决方法

Jakub Konecki的答案让我走向正确的方向…这里是我最终掌握的控制器动作:
  1. [ChildActionOnly]
  2. public ActionResult MainMenu()
  3. {
  4. var items = new List<MenuItem>
  5. {
  6. new MenuItem{ Text = "Home",Action = "Index",Controller = "Home",Selected=false },new MenuItem{ Text = "My Profile",Controller = "Profile",Selected = false},new MenuItem{ Text = "About",Action = "About",Selected = false }
  7. };
  8.  
  9. string action = ControllerContext.ParentActionViewContext.RouteData.Values["action"].ToString();
  10. string controller = ControllerContext.ParentActionViewContext.RouteData.Values["controller"].ToString();
  11.  
  12. foreach (var item in items)
  13. {
  14. if (item.Controller == controller && item.Action == action)
  15. {
  16. item.Selected = true;
  17. }
  18. }
  19.  
  20. return PartialView(items);
  21. }

希望这有助于某人。

猜你在找的asp.Net相关文章