我正在通过我的ASP.NET MVC应用程序中的表单在textarea中显示一些文本。
我希望在显示文本时显示换行符。
为什么
Message.Replace(Environment.NewLine, "<br />")
不起作用,但是
Message.Replace("\n", "<br />")
确实
浏览器提交的分隔线字符是否与Windows Newline“\ r \ n”不同?
答案 0 :(得分:6)
如果你看一下at this stackoverflow answer,它会解释哪些浏览器使用'\ r \ n'以及哪些浏览器在javascript中使用'\ n'。我不确定这是否适用于向服务器发送信息。
无论哪种方式,Environment.NewLine
都是运行Web服务器的环境的NewLine字符。您在Web服务器上运行的软件不应该假设客户端的环境与您的相同,因此您应该编写代码,假设有时您会得到Environment.NewLine
,有时您不会。
共同点是'\n'
,所以如果您使用第二个代码选项,则应该处理所有情况。
答案 1 :(得分:2)
由于您必须在HTML文本界面中显示,后者才有效。对于Outlook html正文,("\n", "<br />")
有效,但前者无效,即Environment.Newline