C#和ASP.NET中的换行符变化是什么?(\ r \n vs. \n)

Jef*_*utz 1 c# asp.net asp.net-mvc newline

我从一开始就一直在为ASP.NET编写代码,今天我遇到了一些我以前从未见过的东西.通常情况下,我通过期待"\ r \n"来查找C#中的换行符(例如,当从textarea发布在ASP.NET中时).现在我正在使用MVC框架,来自textarea的线路文本只有"\n"用于换行符.

在旧学校TextBox控件中是否有一些事情可以规范换行符?由于MVC只是按原样使用表单数据,这是正常的吗?很想得到一些见解.

Use*_*ser 7

我观察到实际的换行顺序因浏览器而异.

如果页面上有多行textarea并且页面已提交,则:

IE返回"\ r \n"以表示换行符.在这种情况下,FF返回"\n".

我在2006年底的某个地方进行了测试,所以现在可能会有所不同.

我不相信它可能与WebForms和MVC有任何关系.两者都只处理提交的输入并按原样返回给您.

如果你想以某种方式处理和替换这些字符,那么按照从长到短的顺序进行处理是有意义的:

string userText = form["Text"];
userText = userText.Replace ("\r\n", "<br/>").Replace ("\r", "<br/>");
Run Code Online (Sandbox Code Playgroud)