protected override void RenderContentAreaItem(HtmlHelper htmlHelper, ContentAreaItem contentAreaItem, string templateTag, string htmlTag, string cssClass) { var dictionary = new Dictionary <string, object>(); dictionary["childrencustomtagname"] = htmlTag; dictionary["childrencssclass"] = cssClass; dictionary["tag"] = templateTag; dictionary = contentAreaItem.RenderSettings.Concat( ( from r in dictionary where !contentAreaItem.RenderSettings.ContainsKey(r.Key) select r ) ).ToDictionary(r => r.Key, r => r.Value); htmlHelper.ViewBag.RenderSettings = dictionary; var content = contentAreaItem.GetContent(); if (content != null) { try { using (new ContentAreaContext(htmlHelper.ViewContext.RequestContext, content.ContentLink)) { var templateModel = ResolveTemplate(htmlHelper, content, templateTag); if ((templateModel != null) || IsInEditMode(htmlHelper)) { if (IsInEditMode(htmlHelper)) { var tagBuilder = new TagBuilder(htmlTag); AddNonEmptyCssClass(tagBuilder, cssClass); tagBuilder.MergeAttributes <string, string>( _attributeAssembler.GetAttributes( contentAreaItem, IsInEditMode(htmlHelper), (bool)(templateModel != null))); BeforeRenderContentAreaItemStartTag(tagBuilder, contentAreaItem); htmlHelper.ViewContext.Writer.Write(tagBuilder.ToString(TagRenderMode.StartTag)); htmlHelper.RenderContentData(content, true, templateModel, _contentRenderer); htmlHelper.ViewContext.Writer.Write(tagBuilder.ToString(TagRenderMode.EndTag)); } else { htmlHelper.RenderContentData(content, true, templateModel, _contentRenderer); } } } } catch (Exception e) { _logger.Error("[CustomContentAreaRenderer.RenderContentAreaItem] exception", e); if (PageEditing.PageIsInEditMode) { var errorModel = new ContentRenderingErrorModel(content, e); htmlHelper.RenderPartial("TemplateError", errorModel); } } } }
private void HandlerError(HtmlHelper helper, IContentData contentData, Exception renderingException) { if (PrincipalInfo.HasEditAccess) { var errorModel = new ContentRenderingErrorModel(contentData, renderingException); helper.RenderPartial("TemplateError", errorModel); } }
private void HandlerError(HtmlHelper helper, IContentData contentData, Exception renderingException) { if (PageEditing.PageIsInEditMode) { var errorModel = new ContentRenderingErrorModel(contentData, renderingException); helper.RenderPartial("TemplateError", errorModel); } }
private void HandlerError(IHtmlHelper helper, IContentData contentData, Exception renderingException) { if (helper.ViewContext.IsInEditMode()) { var errorModel = new ContentRenderingErrorModel(contentData, renderingException); helper.RenderPartialAsync("TemplateError", errorModel).GetAwaiter().GetResult(); } }