问题
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="
Hi
hello!
you there
Output (rendered in the view)
rendered using
Hi
hello!
you there
Here is the scenario in MVC4
Input string(from database)
Model.text="
Hi
hello!
you there
Output (rendered in the view)
rendered using
@Model.text
Hi
hello!
you there
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!!
回答1:
This should do the trick:
@Html.Raw(Model.text)
回答2:
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("
Hi
hello!
you there
would do the trick as well.
回答3:
In controller side
viewbag.msg="hello";
in the html.cs razor view
@Html.Raw(viewbag.msg)
来源:https://stackoverflow.com/questions/9050145/html-encode-decode-c-sharp-mvc4