コード例 #1
0
        /// <inheritdoc />
        public override async Task <IEnumerable <DocumentItemExecution> > Render(IByteCounterStream outputStream, ContextObject context, ScopeData scopeData)
        {
            if (context != null)
            {
                string value = null;
                await context.EnsureValue();

                if (context.Value != null)
                {
                    value = await context.RenderToString();
                }

                ContentDocumentItem.WriteContent(outputStream, value, context);
            }

            return(Children.WithScope(context));
        }
コード例 #2
0
        /// <inheritdoc />
        public override async Task <IEnumerable <DocumentItemExecution> > Render(IByteCounterStream outputStream, ContextObject context, ScopeData scopeData)
        {
            //try to locate the value in the context, if it exists, append it.
            var contextObject = context != null ? (await context.GetContextForPath(Value, scopeData)) : null;

            if (contextObject?.Value != null)
            {
                await contextObject.EnsureValue();

                if (EscapeValue && !context.Options.DisableContentEscaping)
                {
                    ContentDocumentItem.WriteContent(outputStream, HtmlEncodeString(await contextObject.RenderToString()), contextObject);
                }
                else
                {
                    ContentDocumentItem.WriteContent(outputStream, await contextObject.RenderToString(), contextObject);
                }
            }

            return(Children.WithScope(contextObject));
        }