display line breaks asp.net mvc razor
There's an even better/awesome solution that employs CSS white-space property:
Using this you avoid Cross-site scripting (XSS) vulnerabilities...
<p style="white-space: pre-line">@Model.Message</p>
Works like a charm with ASP.NET MVC Razor engine.
Your code is vulnerable to XSS attacks as it doesn't HTML encode the text. I would recommend you the following:
var result = string.Join(
"<br/>",
Model.Post.Description
.Split(new[] { Environment.NewLine }, StringSplitOptions.None)
.Select(x => HttpUtility.HtmlEncode(x))
);
return MvcHtmlString.Create(result);
and then in your view you can safely:
@Html.SomeHelper()