public override void OnActionExecuting(ActionExecutingContext filterContext)
        {
            base.OnActionExecuting(filterContext);

            List<Page> pages = Page.GetMenu();

            Menu mainMenu = new Menu(Display.MainMenu, filterContext.RequestContext.RouteData.Values);
            foreach (Page p in pages)
            {
                MenuItem item = new MenuItem(mainMenu, p.Title, p.Url);
                mainMenu.Items.Add(item);
            }

            filterContext.Controller.ViewBag.MainMenu = mainMenu;
        }
Пример #2
0
 /// <summary>
 /// 
 /// </summary>
 /// <param name="menu"></param>
 /// <param name="parent"></param>
 /// <param name="title"></param>
 /// <param name="action"></param>
 /// <param name="controller"></param>
 /// <param name="visible"></param>
 public MenuItem(Menu menu, MenuItem parent, string title, string action, string controller, bool visible)
     : this(menu, parent, title, action, controller, visible, null, null)
 {
 }
Пример #3
0
 /// Creates new instance of menu item
 /// </summary>
 /// <param name="menu">Menu this itm=em is belongs to.</param>
 /// <param name="parent">Parent MenuItem of this item.</param>
 /// <param name="title">The title of menu item.</param>
 /// <param name="action">The target controller action.</param>
 /// <param name="controller">The target controller.</param>
 /// <param name="visible">Set visibility of menu item while rendering.</param>
 /// <param name="htmlAttributes">An a html attributes of the menu item.</param>
 /// <param name="routeValues">An a additional route values to specify menu item link target.</param>
 public MenuItem(Menu menu, MenuItem parent, string title, string action, string controller, bool visible,
     IDictionary<string, object> htmlAttributes, IDictionary<string, object> routeValues)
 {
     this.Menu = menu;
     this.Parent = parent;
     this.Title = title;
     this.Action = action;
     this.Controller = controller;
     this.HtmlAttributes = htmlAttributes;
     this.RoutesValues = routeValues;
     this.Visible = visible;
     this.Items = new List<MenuItem>();
 }
Пример #4
0
 /// <summary>
 /// 
 /// </summary>
 /// <param name="menu"></param>
 /// <param name="parent"></param>
 /// <param name="title"></param>
 /// <param name="action"></param>
 /// <param name="controller"></param>
 public MenuItem(Menu menu, MenuItem parent, string title, string action, string controller)
     : this(menu, parent, title, action, controller, true, null, null)
 {
 }
Пример #5
0
 /// <summary>
 /// 
 /// </summary>
 /// <param name="menu"></param>
 /// <param name="parent"></param>
 /// <param name="title"></param>
 /// <param name="action"></param>
 /// <param name="controller"></param>
 /// <param name="visible"></param>
 /// <param name="htmlAttributes"></param>
 /// <param name="routeValues"></param>
 public MenuItem(Menu menu, MenuItem parent, string title, string action, string controller, bool visible,
     object htmlAttributes, object routeValues)
     : this(menu, parent, title, action, controller, visible, null, null)
 {
     this.HtmlAttributes = htmlAttributes.ToDictionary();
     this.RoutesValues = routeValues.ToDictionary();
 }