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);
}