Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Writing/outputting HTML strings unescaped

I've got safe/sanitized HTML saved in a DB table.

How can I have this HTML content written out in a Razor view?

It always escapes characters like < and ampersands to &amp;.

like image 596
AGS Avatar asked Nov 25 '10 23:11

AGS


2 Answers

Supposing your content is inside a string named mystring...

You can use:

@Html.Raw(mystring) 

Alternatively you can convert your string to HtmlString or any other type that implements IHtmlString in model or directly inline and use regular @:

@{ var myHtmlString = new HtmlString(mystring);} @myHtmlString 
like image 159
Lorenzo Avatar answered Sep 18 '22 06:09

Lorenzo


In ASP.NET MVC 3 You should do something like this:

// Say you have a bit of HTML like this in your controller: ViewBag.Stuff = "<li>Menu</li>" //  Then you can do this in your view: @MvcHtmlString.Create(ViewBag.Stuff) 
like image 29
Tom Chantler Avatar answered Sep 19 '22 06:09

Tom Chantler