How can I interpret HTML from TempData using MVC4?

Alex picture Alex · Jul 23, 2013 · Viewed 7.4k times · Source

I try to display a TempData list with HTML balise inside. Is it possible to interpret the balise and not only display it ?

This is code example to illustrate what I want.

Controller :

List<string> ls = new List<string>();
ls.Add("<div> First div </div>");
ls.Add("<div> Another div </div>");
ls.Add("<div> Another div again </div>");
TempData.Add("ModelLs", ls);

View :

var ls = (List<string>)TempData["ModelLs"];
foreach (string str in ls)
{
    @str
}

And I'd like to display 3 "real" div on my page (and not 3 "<div> .... </div>"). How can I do that ?

Answer

Satpal picture Satpal · Jul 23, 2013

Use Html.Raw it returns markup that is not HTML encoded.

var ls = (List<string>)TempData["ModelLs"];
foreach (string str in ls)
{
    Html.Raw(str)
}