protected void btn_Save_Click(object sender, EventArgs e) { settings.UseIndex = cbx_index.Checked; settings.UseMobile = cbx_mobile.Checked; settings.UseNews = cbx_news.Checked; settings.UseVideo = cbx_video.Checked; settings.UseImage = cbx_image.Checked; settings.IncludeImages = cbx_image_include.Checked; string[] engines = tbx_ping.Text.Split(new char[] { ';' }); if (engines.Length > 0) { settings.SearchEngines.Clear(); foreach (string engine in engines) { string seangine = engine.Replace(Environment.NewLine, String.Empty); if (!String.IsNullOrEmpty(seangine)) { settings.SearchEngines.Add(seangine); } } } settings = settings.Save();// (SPContext.Current.Site); var eventArgsJavaScript = String.Format("{{Message:'{0}',controlIDs:window.frameElement.dialogArgs}}", "The Properties have been updated."); ((EnhancedLayoutsPage)Page).EndOperation(ModalDialogResult.OK, eventArgsJavaScript); Context.Response.Flush(); Context.Response.End(); }
private async Task <string> GetSiteMapData( string siteRootUrl, SiteMapSettings settings, IRepository <PostEntity> postRepo, IRepository <PageEntity> pageRepo) { var sb = new StringBuilder(); var writerSettings = new XmlWriterSettings { Encoding = Encoding.UTF8, Async = true }; await using (var writer = XmlWriter.Create(sb, writerSettings)) { await writer.WriteStartDocumentAsync(); writer.WriteStartElement("urlset", settings.UrlSetNamespace); // Posts var spec = new PostSitePageSpec(); var posts = await postRepo.SelectAsync(spec, p => new { p.Slug, p.PubDateUtc }); foreach (var item in posts.OrderByDescending(p => p.PubDateUtc)) { var pubDate = item.PubDateUtc.GetValueOrDefault(); writer.WriteStartElement("url"); writer.WriteElementString("loc", $"{siteRootUrl}/post/{pubDate.Year}/{pubDate.Month}/{pubDate.Day}/{item.Slug.ToLower()}"); writer.WriteElementString("lastmod", pubDate.ToString("yyyy-MM-dd", CultureInfo.InvariantCulture)); writer.WriteElementString("changefreq", settings.ChangeFreq["Posts"]); await writer.WriteEndElementAsync(); } // Pages var pages = await pageRepo.SelectAsync(page => new { page.CreateTimeUtc, page.Slug, page.IsPublished }); foreach (var item in pages.Where(p => p.IsPublished)) { writer.WriteStartElement("url"); writer.WriteElementString("loc", $"{siteRootUrl}/page/{item.Slug.ToLower()}"); writer.WriteElementString("lastmod", item.CreateTimeUtc.ToString("yyyy-MM-dd", CultureInfo.InvariantCulture)); writer.WriteElementString("changefreq", settings.ChangeFreq["Pages"]); await writer.WriteEndElementAsync(); } // Tag writer.WriteStartElement("url"); writer.WriteElementString("loc", $"{siteRootUrl}/tags"); writer.WriteElementString("lastmod", DateTime.UtcNow.ToString("yyyy-MM-dd", CultureInfo.InvariantCulture)); writer.WriteElementString("changefreq", settings.ChangeFreq["Default"]); await writer.WriteEndElementAsync(); // Archive writer.WriteStartElement("url"); writer.WriteElementString("loc", $"{siteRootUrl}/archive"); writer.WriteElementString("lastmod", DateTime.UtcNow.ToString("yyyy-MM-dd", CultureInfo.InvariantCulture)); writer.WriteElementString("changefreq", settings.ChangeFreq["Default"]); await writer.WriteEndElementAsync(); await writer.WriteEndElementAsync(); } var xml = sb.ToString(); return(xml); }
protected override void OnInit(EventArgs e) { base.OnInit(e); settings = new SiteMapSettings(); settings = settings.Load();//SPContext.Current.Site); }
protected override void OnInit(EventArgs e) { base.OnInit(e); settings = new SiteMapSettings(); settings = settings.Load(); }