MVC3 putting a newline in ViewBag text
When you throw into your view, use
@Html.Raw(ViewBag.Test)
instead of
@ViewBag.Test
That will signify to the compiler that string is html and does not need to be encoded as such.
Use a string[]
to hold your errors. That way they are a well-formed and distinct set of errors instead of just one long string.
In your Controller, initializing the ViewBag
property:
ViewBag.Errors = new string[] { "First error", "Second error" };
In your View, displaying these errors:
@foreach (string error in ViewBag.Errors)
{
@Html.Label(error)
<br />
}
Separation Of Concerns
You shouldn't be handling markup layout within your Controller (i.e. line breaks, or any other DOM elements). The presentation should be handled solely by the View. Which is why it would be best to pass a string[]
.