Reputation: 15583
How can I return a model with a string propertie containing <li>
elements and display it in view?
If I just write @Model.Messages it shows all the string.. i need it in html format.
Upvotes: 16
Views: 42546
Reputation: 4541
You can use the Content
method with the Content-Type text/html
to return the HTML directly, without the need of Html.Raw
.
public ActionResult MyHtmlView() {
return Content("<html><body>Ahoy.</body></html>", "text/html")
}
You can pass whatever Content-Type you want, such text/xml
.
Upvotes: 32
Reputation: 18290
Use Server.HtmlEncode()
to send html to view and then use the Server.HtmlDecode()
to get the html to display on the view.
Then you can use @Html.Raw(Server.HtmlDecode(str)).
Try this:
<div class='content'>
@Html.Raw(HttpUtility.HtmlDecode(Model.Message));
</div>
Ref: Display encoded html with razor
Upvotes: 8
Reputation: 5758
You don't say which rendering engine you're using:
MVC3:
@Html.Raw(Model.Description)
Upvotes: 7