我想在页面标题的两个单独行上显示文字:
@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)
。在这里没有帮助。
这里有什么不妥?
答案 0 :(得分:2)
Environment.NewLine
将文本放在创建的HTML中的多行上。但是,大多数HTML元素都会忽略新行等空格。您应该在需要新行的位置添加<br />
。
或者,您可以通过添加see添加:
的封闭元素来更改该行为white-space: pre-wrap;
让这项工作成功的最佳方法是将ViewBag
包裹在<p>
中。