Example #1
0
        private bool IsSelected(string area, string controller, string action, string requestUrl, MenuItemViewModel node, bool isMainMenu)
        {
            if (node == null)
                return false;

            area = area ?? String.Empty;
            action = action ?? "Index";

            string nodeArea = node.Area ?? String.Empty;
            string nodeController = node.Controller ?? String.Empty;
            string nodeAction = node.Action ?? String.Empty;

            if (!String.IsNullOrWhiteSpace(node.Url) && node.Url != requestUrl)
                return false;

            if (isMainMenu && !string.IsNullOrEmpty(node.Area)) {
                return nodeArea == area;
            }

            bool selected =
                nodeArea == area &&
                (nodeController == controller || String.IsNullOrWhiteSpace(nodeController)) &&
                (nodeAction == action || String.IsNullOrWhiteSpace(action));

            return selected;
        }
Example #2
0
        private string GetMenuItemUrl(MenuItemViewModel node)
        {
            string area = (node.Area == null ? String.Empty : ("/" + node.Area));

            return String.Format("~{0}/{1}/{2}", area, node.Controller, node.Action);
        }