pau*_*aul 3 asp.net asp.net-mvc-2
为什么.Replace(Environment.NewLine, "<br />")给出这个结果:
asdasd<br />waahahahaha<br />asdadsa<br />multiline<br /><br /><br />asdad
Run Code Online (Sandbox Code Playgroud)
可能是因为"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 />");
Run Code Online (Sandbox Code Playgroud)
html现在看起来像这样:
First line<br />Second line<br/>Multiple line breaks<br /><br /><br />some text
Run Code Online (Sandbox Code Playgroud)
编辑
在您的情况下,您的网页将显示<br />在Web浏览器中,而不是创建新行,因为它编码html输出.
你需要做的是使用HtmlString,试试这个:
<div class="display-field">
<%: new HtmlString(Model.Body.Replace(Environment.NewLine, "<br />")) %>
</div>
Run Code Online (Sandbox Code Playgroud)
另请参阅StackOverflow上的这个帖子,谈论"ASP.NET MVC Razor - 输出HTML字符串非转义".
| 归档时间: |
|
| 查看次数: |
14291 次 |
| 最近记录: |