HtmlLiteral

in namespace DotVVM.Framework.Controls

Renders a text into the page.

Usage & Scenarios

This control is used to render raw HTML content in the page.

Be very careful when using this control. If you allow users to enter HTML into your application and then you render this HTML, it can make your application vulnerable. Always make sure that the HTML you pass in this control is safe and doesn't contain any scripts because the browser would have run them.

If you want to render a text in the page, use the Literal control instead.

Sample 1: Basic HtmlLiteral

Use the Html property to supply the raw HTML to be rendered.

<dot:HtmlLiteral Html="{value: Html}" />
using System;
using System.Threading;
using DotVVM.Framework.ViewModel;

namespace DotvvmWeb.Views.Docs.Controls.builtin.HtmlLiteral.sample1
{
    public class ViewModel : DotvvmViewModelBase
    {
        public string Html => "Hello <strong>DotVVM</strong>";
    }
}

Properties

Name Type Description Notes Default Value
property icon Html String Gets or sets the HTML that will be rendered in the control.
attribute
inner element
static value
bindable
default
property icon RenderWrapperTag Boolean Gets or sets the name of the tag that wraps the HtmlLiteral.
attribute
inner element
static value
bindable
default
True
property icon WrapperTagName String Gets or sets whether the control should render a wrapper element.
attribute
inner element
static value
bindable
default
div

HTML produced by the control

By default, the control renders a <div> element which will contain the specified HTML. You can change it to any other tag name using the WrapperTagName property.

<div data-bind="html: expression"></div>

If you set the RenderWrapperTag to false, only the pure HTML content will be rendered. However, removing the wrapper tag is supported only in the Server rendering mode.