18

I am in a process of upgrading a c# MVC2 project into c# MVC4.

Here is the scenario in MVC2

Input string(from database)

   Model.text="<p>Hi<br>hello!<br>you there</p>"

Output (rendered in the view) rendered using

 <%=Model.text %>

Hi
hello!
you there

Here is the scenario in MVC4

Input string(from database)

   Model.text="<p>Hi<br>hello!<br>you there</p>"

Output (rendered in the view) rendered using

@Model.text

<p>Hi<br>hello!<br>you there</p>

I tried

@HttpUtility.HtmlDecode(Model.text) 
@HttpUtility.HtmlEncode(Model.text) 

Nothing helps...

I had a similar problem in MVC4 asked here (the ajax result is rendered with html tags not the actual html)

Is some of my settings troubling me??? or is that something to do with HTML 5 or am I missing anything in using MVC4. Please help!!

3 Answers 3

37

This should do the trick:

@Html.Raw(Model.text)
Sign up to request clarification or add additional context in comments.

1 Comment

Thanks Justin!! that helped..This also solved the issue in the link stackoverflow.com/questions/8956992/…
6

If you don't want your text get encoded, that text should be of type IHtmlString. String texts are encoded by default.

In your case,

Model.text = MvcHtmlString.Create("<p>Hi<br>hello!<br>you there</p>");

would do the trick as well.

Comments

1

In controller side

viewbag.msg="hello";

in the html.cs razor view

@Html.Raw(viewbag.msg)

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.