ASP.NET MVC4 - display HTML containing string as raw HTML

asp.net, asp.net-mvc, asp.net-mvc-4, html

Solution

Use Html.Raw()

@Html.Raw("<span>Hello</span>")

All the output from helpers and other elements in Razor are put through `HttpUtility.HtmlEncode`, unless they implement `IHtmlString`. But your best option here is using `Html.Raw()`

Problem

I have a string, read from a database, that contains HTML that I want to output. Despite applying `HttpUtility.HtmlDecode()`, the View always renders the string as encoded HTML (i.e. `&lt;SPAN&gt;` instead of `<SPAN>`). I am using: ``` string test = WebUtility.HtmlDecode(myStr); <span>@test</span> ``` I have tried: ``` string test = HttpUtility.HtmlDecode(myStr); <span>@test</span> <span>@HttpUtility.HtmlDecode(myStr)</span> ```

Original source