protected virtual IHtmlContent OnRenderException(IViewPageRenderContext renderContext, Exception ex) { var typicalbscsspath = XT?.Page?.Href("~/lib/bootstrap/dist/css/bootstrap.css"); var errorMsg = ex.GetFullErrorMessage().Replace("\r\n", "<br/>\r\n"); var msg = !IsEnvironment(Environments.Production) ? errorMsg : "Sorry, and internal error has occurred, please report this to the system administrator.<br/><!--" + Environment.NewLine + errorMsg.Replace("-->", "--»") + Environment.NewLine + "-->"; // TODO: Test this in prod. return(new HtmlString("<html><head><link rel='stylesheet' href='" + typicalbscsspath + "'/></head><body><div class='alert alert-danger'>" + msg + "</div></body></html>")); }
// -------------------------------------------------------------------------------------------------------------------- protected virtual void OnViewExecuting(IViewPageRenderContext renderContext) { // ... intercept view output to apply the content files ... var httpcontext = renderContext.ActionContext.HttpContext; var contentPostProcessor = httpcontext.GetService <IContentPostProcessor>(); if (contentPostProcessor != null) { renderContext.OnPostProcessing(r => contentPostProcessor.Process(r)); } }
void IViewPageRenderEvents.OnViewExecuted(IViewPageRenderContext renderContext) { OnViewExecuted(renderContext); }
void IViewPageRenderEvents.OnAfterRenderView(IViewPageRenderContext renderContext) { OnAfterRenderView(renderContext); }
IHtmlContent IViewPageRenderEvents.OnRenderException(IViewPageRenderContext renderContext, Exception ex) { return(OnRenderException(renderContext, ex)); }
void IViewPageRenderEvents.OnBeforeRenderView(IViewPageRenderContext renderContext) { OnBeforeRenderView(renderContext); }
protected virtual void OnAfterRenderView(IViewPageRenderContext renderContext) { }
protected virtual void OnBeforeRenderView(IViewPageRenderContext renderContext) { var httpcontext = renderContext.ActionContext.HttpContext; ConfigureRequiredServices(httpcontext); }
protected virtual void OnViewExecuted(IViewPageRenderContext renderContext) { }