示例#1
0
        /// <summary>
        /// Creates the site map items.
        /// </summary>
        /// <param name="urlHelper">The URL.</param>
        /// <param name="debug">if set to <c>true</c> shows all urls (visible, non visible and no index)</param>
        /// <returns></returns>
        private static IEnumerable <SiteMapItem> CreateSiteMapItems(UrlHelper urlHelper, bool debug = false)
        {
            Init();

            var pageInfoCollection = FindCurrentPageInfoCollection();

            if (pageInfoCollection.SiteMapItems != null)
            {
                return(pageInfoCollection.SiteMapItems);
            }

            List <SiteMapItem> siteMapItems;

            if (debug)
            {
                siteMapItems = (from pageInfo in pageInfoCollection.PageInfos
                                select new SiteMapItem(urlHelper.AbsoluteUrlFromRelavtiveUrl(pageInfo.PageUrl), changeFrequency: SitemapChangeFrequency.Always, priority: 1.0)).ToList();
            }
            else
            {
                siteMapItems = (from pageInfo in pageInfoCollection.PageInfos
                                where !pageInfo.MetaNoIndex
                                where pageInfo.Visible
                                select new SiteMapItem(urlHelper.AbsoluteUrlFromRelavtiveUrl(pageInfo.PageUrl), changeFrequency: SitemapChangeFrequency.Always, priority: 1.0)).ToList();
            }

            pageInfoCollection.SiteMapItems = siteMapItems;

            return(pageInfoCollection.SiteMapItems);
        }