【问题标题】:Environment.NewLine sometimes returns \n Linefeed instead of \r\n Carriage Return, Line FeedEnvironment.NewLine 有时返回 \n 换行而不是 \r\n 回车,换行
【发布时间】:2010-10-05 10:40:05
【问题描述】:

我正在使用标签在 ASP.Net 页面上向用户显示地址。新行从

转换而来
Environment.NewLine

<br />

如果用户编辑地址,地址会显示在文本区域中,

<br />

替换为

Environment.NewLine

有时保存到数据库的地址只有换行符。考虑到这种情况发生的频率,它看起来可能发生在 Linux 或 OSX 用户身上。

Environment.NewLine 是否返回客户端浏览器或服务器的新行值,或者它可以是其他什么?

【问题讨论】:

  • 你在哪里打电话Environment.NewLine?客户端代码(silverlight)?还是服务器代码?两者都有?
  • @Oded 仅称为服务器端,本节不使用silverlight、ajax 或客户端代码。

标签: c# asp.net webforms


【解决方案1】:

不,Environment.NewLine 返回您的 服务器 上的任何内容(因为它正在运行)。运行在 Unix 上的浏览​​器完全有可能只使用“\n”而不是“\r\n”作为换行符来提交数据。听起来您应该在将数据保存到数据库之前对其进行规范化。然后您知道您可以安全地替换为&lt;br /&gt; 以用于显示目的。

(我假设您的 服务器 在 Windows 上运行,而这就是您的代码所在的所有 - 即不涉及 Silverlight 等。)

【讨论】:

  • 不会单声道/月光在 linux/mac 上为 Environment.NewLine 返回 \n
  • @Oded:如果代码在那里运行,他们会这样做,但听起来他们更有可能是与 Windows 服务器通信的 Linux 浏览器。
  • 谢谢,我不认为 Environment.Newline 会那样工作。
猜你喜欢
  • 2016-06-23
  • 1970-01-01
  • 2010-12-20
  • 1970-01-01
  • 2012-09-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多