ViewBag未显示新行

时间:2015-05-08 14:22:23

标签: asp.net-mvc asp.net-mvc-4 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 个答案:

答案 0 :(得分:2)

Environment.NewLine将文本放在创建的HTML中的多行上。但是,大多数HTML元素都会忽略新行等空格。您应该在需要新行的位置添加<br />

或者,您可以通过添加see添加:

的封闭元素来更改该行为
white-space: pre-wrap;

让这项工作成功的最佳方法是将ViewBag包裹在<p>中。