asp.net - .Replace(Environment.NewLine, "<br/>")

标签 asp.net asp.net-mvc-2

为什么.Replace(Environment.NewLine, "<br />")给出这个结果:

asdasd<br />waahahahaha<br />asdadsa<br />multiline<br /><br /><br />asdad

最佳答案

可能是因为“multiline”和“asdad”之间有不止一条新线。

示例

var someText = string.Format("First line{0}Second line{0}Multiple line breaks{0}{0}{0}some text", Environment.NewLine);

var html = someText.Replace(Environment.NewLine, "<br />");

html 现在看起来像这样:
First line<br />Second line<br/>Multiple line breaks<br /><br /><br />some text

编辑

在您的情况下,您的网页将显示 <br />在网络浏览器中,而不是创建一个新行,因为它对 html 输出进行编码。

你需要做的是使用 HtmlString,试试这个:
<div class="display-field">
    <%: new HtmlString(Model.Body.Replace(Environment.NewLine, "<br />")) %>
</div>

另请参阅 StackOverflow 上的此线程,讨论 "ASP.NET MVC Razor - output HTML string non escaped" .

关于asp.net - .Replace(Environment.NewLine, "<br/>"),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5002673/

相关文章:

c# - 如何在包含 POCO 的域模型程序集中删除对 System.Web.Mvc 的依赖

asp.net - 我可以在 MVC 站点中使用 Asp.Net WebForm 用户控件吗?

c# - 从 ASP.NET 中的 POST 方法检索数据

asp.net-mvc - 我是否必须在 Nhibernate 中的 SaveOrUpdate 之前加载/获取实体?

asp.net - MVC2 - 逻辑应该去哪里的基本问题

c# - 从 View 模型映射到域模型的最佳位置在哪里?

asp.net-mvc-2 - 为什么 CheckBoxFor 会产生运行时错误

c# - 错误 - 无法联系位于指定 URL 的站点。没有名为 "*.asmx"的网站

asp.net - 是否可以为适用于任何文化的日期格式 MMM-yyyy 设置 MaskedEditExtender 的掩码?

javascript - 验证后传递脚本