加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

选择ASP.NET MVC菜单项

发布时间:2020-12-15 18:33:38 所属栏目:asp.Net 来源:网络整理
导读:好的新MVC。我早些时候问了 this问题,得到了一个答案,但我想知道是否有一个更简单的解决方案。 说我有一个主页,其中列出了无序列表的菜单。如何在当前选择的菜单项上设置一个css类? 编辑: 当我启动一个新的mvc应用程序时,我正在使用菜单,就像它的设置
好的新MVC。我早些时候问了 this问题,得到了一个答案,但我想知道是否有一个更简单的解决方案。

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

编辑:

当我启动一个新的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",Controller = "Profile",Selected = false},new MenuItem{ Text = "About",Action = "About",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);
    }

希望这有助于某人。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读