public void Render(HtmlHelper helper, PartialRequest partialRequestHandler, IContentData contentData, TemplateModel templateModel)
        {
            var output = _htmlCache.GetOrAdd(CreateCacheKey(contentData, templateModel), context =>
            {
                AddDependecies(context, contentData);
                var buffer = new StringBuilder();
                using (var writer = new StringWriter(buffer))
                {
                    var orgWriter = helper.ViewContext.Writer;
                    try
                    {
                        helper.ViewContext.Writer = writer;
                        _defaultRenderer.Render(helper, partialRequestHandler, contentData, templateModel);
                    }
                    finally
                    {
                        helper.ViewContext.Writer = orgWriter;
                    }
                }

                return(buffer.ToString());
            });

            helper.ViewContext.Writer.Write(output);
        }
Exemplo n.º 2
0
 public void Render(HtmlHelper helper, PartialRequest partialRequestHandler, IContentData contentData, TemplateModel templateModel)
 {
     if (contentData is IContent content)
     {
         helper.ViewContext.TrackContent(content);
     }
     _defaultRenderer.Render(helper, partialRequestHandler, contentData, templateModel);
 }