/// <summary> /// Renders the footer content that appears at the end of the /// HTML document body. /// </summary> protected virtual void RenderFooter() { HtmlTextWriter writer = this.Writer; writer.RenderBeginTag(HtmlTextWriterTag.P); PoweredBy poweredBy = new PoweredBy(); poweredBy.RenderControl(writer); writer.RenderEndTag(); }
protected virtual void RenderDocumentEnd(HtmlTextWriter writer) { writer.AddAttribute(HtmlTextWriterAttribute.Id, "Footer"); writer.RenderBeginTag(HtmlTextWriterTag.P); // <p> // // Write the powered-by signature, that includes version information. // PoweredBy poweredBy = new PoweredBy(); poweredBy.RenderControl(writer); // // Write out server date, time and time zone details. // DateTime now = DateTime.Now; writer.Write("Server date is "); this.Server.HtmlEncode(now.ToString("D", CultureInfo.InvariantCulture), writer); writer.Write(". Server time is "); this.Server.HtmlEncode(now.ToString("T", CultureInfo.InvariantCulture), writer); writer.Write(". All dates and times displayed are in the "); writer.Write(TimeZone.CurrentTimeZone.IsDaylightSavingTime(now) ? TimeZone.CurrentTimeZone.DaylightName : TimeZone.CurrentTimeZone.StandardName); writer.Write(" zone. "); // // Write out the source of the log. // writer.Write("This log is provided by the "); this.Server.HtmlEncode(this.ErrorLog.Name, writer); writer.Write('.'); writer.RenderEndTag(); // </p> writer.RenderEndTag(); // </body> writer.WriteLine(); writer.RenderEndTag(); // </html> writer.WriteLine(); }
public override void Execute() { WriteLiteral("\r\n"); #line 5 "..\..\ErrorMailHtmlPage.cshtml" // NB cast is not really required, but aids with intellisense! var error = (Error)this.Error; var about = PoweredBy.GetAbout(HttpRuntime.Cache, (version, fileVersion, product, copyright) => new { Version = version != null ? version.ToString() : fileVersion != null ? fileVersion.ToString() : "?.?.?.?", Product = Mask.EmptyString(product, "(product)"), Copyright = copyright, }); #line default #line hidden WriteLiteral("<html>\r\n <head>\r\n <title>Error: "); #line 22 "..\..\ErrorMailHtmlPage.cshtml" Write(error.Message); #line default #line hidden WriteLiteral(@"</title> <style type=""text/css""> body { font-family: verdana, arial, helvetic; font-size: x-small; } table.collection { border-collapse: collapse; border-spacing: 0; border: 1px solid black; width: 100% } table.collection tr { vertical-align: top; } table.collection th { text-align: left; border: 1px solid black; padding: 4px; font-weight: bold; } table.collection td { border: 1px solid black; padding: 4px; } td, th, pre { font-size: x-small; } #errorDetail { padding: 1em; background-color: #FFFFCC; } #errorMessage { font-size: medium; font-style: italic; color: maroon; } h1 { font-size: small; } </style> </head> <body> <p id=""errorMessage"">"); #line 36 "..\..\ErrorMailHtmlPage.cshtml" Write(error.Type); #line default #line hidden WriteLiteral(": "); #line 36 "..\..\ErrorMailHtmlPage.cshtml" Write(error.Message); #line default #line hidden WriteLiteral("</p>\r\n"); #line 37 "..\..\ErrorMailHtmlPage.cshtml" if (error.Time != DateTime.MinValue) { #line default #line hidden WriteLiteral(" <p>Generated: "); #line 39 "..\..\ErrorMailHtmlPage.cshtml" Write(error.Time.ToUniversalTime().ToString("r")); #line default #line hidden WriteLiteral("</p>\r\n"); #line 40 "..\..\ErrorMailHtmlPage.cshtml" } #line default #line hidden #line 41 "..\..\ErrorMailHtmlPage.cshtml" if (error.Detail.Length != 0) { #line default #line hidden WriteLiteral("<pre id=\"errorDetail\">"); #line 46 "..\..\ErrorMailHtmlPage.cshtml" Write(error.Detail); #line default #line hidden WriteLiteral("</pre>\r\n"); #line 47 "..\..\ErrorMailHtmlPage.cshtml" } #line default #line hidden #line 48 "..\..\ErrorMailHtmlPage.cshtml" foreach (var collection in from collection in new[] { new { Id = "ServerVariables", Title = "Server Variables", Items = error.ServerVariables, } } let data = collection.Items where data != null && data.Count > 0 let items = from i in Enumerable.Range(0, data.Count) select KeyValuePair.Create(data.GetKey(i), data[i]) select new { collection.Id, collection.Title, Items = items.OrderBy(e => e.Key, StringComparer.OrdinalIgnoreCase) } ) { #line default #line hidden WriteLiteral(" <div id=\""); #line 70 "..\..\ErrorMailHtmlPage.cshtml" Write(collection.Id); #line default #line hidden WriteLiteral("\">\r\n <h1>"); #line 71 "..\..\ErrorMailHtmlPage.cshtml" Write(collection.Title); #line default #line hidden WriteLiteral("</h1>\r\n <table class=\"collection\">\r\n <tr><th>Na" + "me</th> \r\n <th>Value</th></tr>\r\n"); #line 75 "..\..\ErrorMailHtmlPage.cshtml" foreach (var item in collection.Items) { #line default #line hidden WriteLiteral(" <tr><td>"); #line 77 "..\..\ErrorMailHtmlPage.cshtml" Write(item.Key); #line default #line hidden WriteLiteral("</td>\r\n <td>"); #line 78 "..\..\ErrorMailHtmlPage.cshtml" Write(item.Value); #line default #line hidden WriteLiteral("</td></tr>\r\n"); #line 79 "..\..\ErrorMailHtmlPage.cshtml" } #line default #line hidden WriteLiteral(" </table>\r\n </div>\r\n"); #line 82 "..\..\ErrorMailHtmlPage.cshtml" } #line default #line hidden WriteLiteral(" <p>Powered by <a href=\"http://elmah.googlecode.com/\">"); #line 83 "..\..\ErrorMailHtmlPage.cshtml" Write(about.Product); #line default #line hidden WriteLiteral("</a>, \r\n version "); #line 84 "..\..\ErrorMailHtmlPage.cshtml" Write(about.Version); #line default #line hidden WriteLiteral("\r\n "); #line 85 "..\..\ErrorMailHtmlPage.cshtml" Write(about.Copyright); #line default #line hidden WriteLiteral(" \r\n Licensed under <a href=\"http://www.apache.org/licenses/LICENSE-2.0" + "\">Apache License, Version 2.0</a>. \r\n </p>\r\n </body>\r\n</html>\r\n"); }
public override void Execute() { WriteLiteral("\r\n"); WriteLiteral("\r\n"); #line 12 "..\..\MasterPage.cshtml" var basePageName = Request.ServerVariables["URL"]; var now = DateTime.Now; var tz = TimeZone.CurrentTimeZone; var about = PoweredBy.GetAbout(Context.Cache, (version, fileVersion, product, copyright) => new { Version = version != null ? version.ToString() : fileVersion != null ? fileVersion.ToString() : "?.?.?.?", Product = Mask.EmptyString(product, "(product)"), Copyright = copyright, }); var speedBarItems = (SpeedBarItems ?? Enumerable.Empty <SpeedBar.FormattedItem>()).ToArray(); #line default #line hidden WriteLiteral("<!DOCTYPE html>\r\n<html>\r\n <head>\r\n"); #line 34 "..\..\MasterPage.cshtml" if (!string.IsNullOrEmpty(Title)) { #line default #line hidden WriteLiteral(" <title>"); #line 36 "..\..\MasterPage.cshtml" Write(Title); #line default #line hidden WriteLiteral("</title>\r\n"); #line 37 "..\..\MasterPage.cshtml" } #line default #line hidden #line 38 "..\..\MasterPage.cshtml" #line default #line hidden WriteLiteral(@" <!-- Le HTML5 shim, for IE6-8 support of HTML elements --> <!--[if lt IE 9]> <script src=""http://html5shim.googlecode.com/svn/trunk/html5.js""></script> <![endif]--> <link rel=""stylesheet"" type=""text/css"" href="""); #line 43 "..\..\MasterPage.cshtml" Write(basePageName); #line default #line hidden WriteLiteral("/stylesheet?h="); #line 43 "..\..\MasterPage.cshtml" Write(Uri.EscapeDataString(StyleSheetHelper.StyleSheetHash)); #line default #line hidden WriteLiteral("\" />\r\n <style type=\"text/css\">\r\n body {\r\n padding-top:" + " 60px;\r\n }\r\n </style>\r\n </head>\r\n <body>\r\n"); #line 51 "..\..\MasterPage.cshtml" if (speedBarItems.Any()) { #line default #line hidden WriteLiteral(@" <div id=""topnavbar"" class=""navbar navbar-fixed-top""> <div class=""navbar-inner""> <div class=""container""> <a class=""brand"" href=""http://elmah.googlecode.com/"">ELMAH</a> "); #line 57 "..\..\MasterPage.cshtml" Write(SpeedBar.Render(Request.Browser, speedBarItems)); #line default #line hidden WriteLiteral("\r\n </div>\r\n </div>\r\n </div>\r\n"); #line 61 "..\..\MasterPage.cshtml" } #line default #line hidden WriteLiteral(" <div class=\"container-fluid\">\r\n \r\n "); #line 64 "..\..\MasterPage.cshtml" Write(RenderBody()); #line default #line hidden WriteLiteral("\r\n \r\n <footer id=\"Footer\">\r\n <span>Powered b" + "y <a href=\"http://elmah.googlecode.com/\">"); #line 67 "..\..\MasterPage.cshtml" Write(about.Product); #line default #line hidden WriteLiteral("</a>, \r\n version "); #line 68 "..\..\MasterPage.cshtml" Write(about.Version); #line default #line hidden WriteLiteral(".\r\n "); #line 69 "..\..\MasterPage.cshtml" Write(about.Copyright); #line default #line hidden WriteLiteral(" \r\n Licensed under <a href=\"http://www.apache.org/licenses/LIC" + "ENSE-2.0\">Apache License, Version 2.0</a>. \r\n </span>\r\n " + " Server date is "); #line 72 "..\..\MasterPage.cshtml" Write(now.ToString("D", CultureInfo.InvariantCulture)); #line default #line hidden WriteLiteral(". \r\n Server time is "); #line 73 "..\..\MasterPage.cshtml" Write(now.ToString("T", CultureInfo.InvariantCulture)); #line default #line hidden WriteLiteral(". \r\n All dates and times displayed are in the \r\n "); #line 75 "..\..\MasterPage.cshtml" Write(tz.IsDaylightSavingTime(now) ? tz.DaylightName : tz.StandardName); #line default #line hidden WriteLiteral(" zone. \r\n "); #line 76 "..\..\MasterPage.cshtml" Write(Footnote); #line default #line hidden WriteLiteral("\r\n </footer>\r\n </div>\r\n </body>\r\n</html>\r\n"); }