ViewBag не показывает новую строку

Я хочу показать текст в двух отдельных строках для заголовка страницы:

@section featured {
    <section class="featured">
        <div class="content-wrapper">
            <hgroup class="title">
                <h1>@ViewBag.Message</h1>
            </hgroup>
        </div>
    </section>
}

У меня есть следующий код в контроллере:

public ActionResult Login(string returnUrl)
{
    StringBuilder sb = new StringBuilder();
    sb.Append("Web Security Administration Portal");
    sb.AppendLine();
    sb.AppendLine();
    sb.Append("Services, Inc. - SSOAdmin v2.00");
    ViewBag.ReturnUrl = returnUrl;
    ViewBag.Message = sb.ToString();
    return View();
}

ViewBag не показывает новую строку. При просмотре исходного кода сгенерированного HTML выглядит так, что две строки находятся на отдельных строках, но при отображении страницы строки не разделяются.

Я пытался использовать sb.Append(Environment.NewLine) а также sb.Append(Text{0}, Environment.NewLIne) также. Тут не помогает.

Что здесь может быть не так?

1 ответ

Решение

Environment.NewLine помещает текст в несколько строк в создаваемом HTML. Тем не менее, пробелы, такие как новые строки, игнорируются большинством элементов HTML. Вы должны добавить <br /> где вы хотите новые строки.

Кроме того, вы можете изменить это поведение, добавив see к включающему элементу, который добавляет:

white-space: pre-wrap;

Лучше всего заставить это работать, чтобы ваш ViewBag быть завернутым в <p>,

Другие вопросы по тегам