ASP.NET MVC在母版页上创建动态导航子菜单

时间:2010-05-16 18:09:09

标签: c# .net asp.net jquery asp.net-mvc

我正在尝试创建一个ASP.NET MVC母版页,因此其上的网站导航将如下所示:

主菜单:Home | About | News
子菜单: Home_Page1 | Home_Page2

子菜单部分应始终显示当前所选主菜单页面的子菜单(在“主页”页面上方的示例中选择),除非用户将鼠标悬停在另一个主菜单项上(然后它显示该项的子菜单) - 而不是)。

在ASP.NET MVC中获取此类功能的最佳方法是什么?

1 个答案:

答案 0 :(得分:2)

如果使用HtmlHelper Extension方法创建菜单,例如:

<%= Html.RenderMenu() %>

您可以使用HtmlHelper实例查看请求上下文并确定您所在的页面。一旦你有了这个,你可以查找(数据库,配置,你的菜单数据在哪里......)要呈现的子菜单。

有些东西让你指出我认为你正在寻找的方向:

public static MvcHtmlString RenderMenu(this HtmlHelper html) {
            var somePage = Html.ViewContext.HttpContext.Request.RawUrl;
            var menu = lookupMenuBasedOnPage(somePage);

            return MvcHtmlString.Create(menu.Render());
}