Reputation: 2614
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. <SPAN>
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>
Upvotes: 2
Views: 4746
Reputation: 35126
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()
Upvotes: 6
Reputation: 2201
You need to use @Html.Raw
:
@Html.Raw("<h1>Header</h1>")
Will output the text Header
.
Upvotes: 3