private List <NavSiteMapNode> GetNavNodesAfterCheck(NavSiteMap siteMap)
        {
            #region 修改Enable属性, 在前端渲染时根据Enable属性判断是否需要显示
            List <NavSiteMapNode> result = new List <NavSiteMapNode>();
            // 如果第二级没有可以显示, 则第一级不显示
            foreach (NavSiteMapNode level1_item in siteMap.Nodes)
            {
                ////功能权限
                if (!level1_item.Enable)
                {
                    continue;
                }

                NavSiteMapNode menuNode_level1 = new NavSiteMapNode(level1_item);
                if (this.Request.Url.AbsoluteUri.ToLower().Contains(menuNode_level1.Url.ToLower()))
                {
                    menuNode_level1.Selected = true;
                }

                menuNode_level1.Enable = false; //初始化, 根据是否有子级菜单决定是否显示

                foreach (NavSiteMapNode level2_item in level1_item.Nodes)
                {
                    if (level2_item.Enable == false)
                    {
                        continue;
                    }
                    NavSiteMapNode menuNode_level2 = new NavSiteMapNode(level2_item);

                    foreach (NavSiteMapNode level3_item in level2_item.Nodes)
                    {
                        if (level3_item.Enable == false)
                        {
                            continue;
                        }
                        NavSiteMapNode menuNode_level3 = new NavSiteMapNode(level3_item);

                        menuNode_level3.Enable = forceMenuShow || GetEnable(level3_item);
                        if (menuNode_level3.Enable)
                        {
                            if (this.Request.Url.AbsoluteUri.ToLower().Contains(menuNode_level3.Url.ToLower()))
                            {
                                menuNode_level2.Selected = true;
                            }
                            menuNode_level2.Nodes.Add(menuNode_level3);
                            menuNode_level2.Enable = true;
                        }
                    }

                    menuNode_level2.Enable = forceMenuShow || GetEnable(level2_item);

                    if (menuNode_level2.Enable)
                    {
                        if ((level2_item.Nodes.Count > 0 && menuNode_level2.Nodes.Count > 0) || level2_item.Nodes.Count == 0)
                        {
                            if (this.Request.Url.AbsoluteUri.ToLower().Contains(menuNode_level2.Url.ToLower()) || menuNode_level2.Selected)
                            {
                                menuNode_level1.Selected = true;
                            }
                            menuNode_level1.Nodes.Add(menuNode_level2);
                            menuNode_level1.Enable = true;
                        }
                    }
                }

                if (!menuNode_level1.Enable && menuNode_level1.Url != "#" && GetEnable(menuNode_level1))
                {
                    menuNode_level1.Enable = true;
                }

                if (menuNode_level1.Enable)
                {
                    result.Add(menuNode_level1);
                }
            }
            #endregion

            return(result);
        }