Carrotware.CMS.UI.Controls.SiteCanonicalURL.OnPreRender C# (CSharp) Метод

OnPreRender() защищенный Метод

protected OnPreRender ( EventArgs e ) : void
e System.EventArgs
Результат void
        protected override void OnPreRender(EventArgs e)
        {
            string sFieldValue = string.Empty;

            SiteData sd = SiteData.CurrentSite;

            if (sd != null) {
                sFieldValue = sd.DefaultCanonicalURL;

                ControlUtilities cu = new ControlUtilities();
                ContentPage cp = cu.GetContainerContentPage(this);

                if (cp != null) {
                    if (cp.NavOrder == 0) {
                        sFieldValue = sd.MainCanonicalURL;
                    } else {
                        sFieldValue = sd.DefaultCanonicalURL;
                    }
                }
            } else {
                sFieldValue = SiteData.DefaultDirectoryFilename;
            }

            this.Text = String.Format("<link rel=\"canonical\" href=\"{0}\" />\r\n", sFieldValue);

            if (this.Enable301Redirect) {
                HttpContext ctx = HttpContext.Current;

                if (!SiteData.CurrentSite.MainCanonicalURL.ToLowerInvariant().Contains(@"://" + CMSConfigHelper.DomainName.ToLowerInvariant())) {
                    ctx.Response.Status = "301 Moved Permanently";
                    ctx.Response.AddHeader("Location", sFieldValue);
                }
            }

            base.OnPreRender(e);
        }
SiteCanonicalURL