0

我有两个页面,上面有文本区域控件。当用户提交一页时,换行符被视为 char(13) + char(10)。但在另一页上,换行符被视为 char(10)。我通过查看 Request.Form 字典确认了这一点。

这两个页面托管在同一个 ASP .NET 4.0 Web 窗体应用程序中,从标记的角度来看,这些页面看起来完全相同。我在同一浏览器中以同一用户身份登录。

当我使用 JavaScript 检查浏览器控件中是否存在 char 10 和 char 13 时,两个页面都只包含一个 char(10)。

似乎 IIS/ASP.NET 配置为在两个页面上以不同的方式处理表单请求,但我无法弄清楚差异在哪里。是什么导致了这种行为?

4

1 回答 1

1

不同的操作系统使用不同的字符组合来表示一个新行。

在 Windows 上是 CR + LF,在 Linux 上是 LF,在 Mac 上是 CR。

CR = 回车 LF = 换行

如果您在 Notepad++ 中复制/粘贴文本并选择“查看”>“显示所有字符”,则可以看到行尾字符。

于 2012-06-01T22:17:23.700 回答