2010-10-05 146 views
0

我使用标签在ASP.Net页面上向用户显示地址。新线从Environment.NewLine有时会返回 n换行而不是 r n回车,换行

Environment.NewLine 

转换为

<br /> 

如果用户编辑的地址,该地址被显示在文本区域和

<br /> 

替换

Environment.NewLine 

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

Environment.NewLine会返回客户端的浏览器或服务器的新行值吗?或者可以使用其他值吗?

+0

你在哪里调用'Environment.NewLine'?客户端代码(silverlight)?或服务器代码?都? – Oded 2010-10-05 10:42:43

+0

@Oded它只被称为服务器端,没有silverlight,ajax或客户端代码用于本节。 – TheLukeMcCarthy 2010-10-05 10:48:18

回答

3

不,Environment.NewLine返回你的服务器(因为这是它运行的地方)。在Unix上运行的浏览器完全有可能使用“\ n”而不是“\ r \ n”作为换行符提交数据。这听起来像你应该正常化数据,然后将其保存在数据库中。然后你知道你可以安全地替换<br />进行显示。

(我假设你服务器运行在Windows上,而这正是所有你的代码 - 即没有的Silverlight等参与。)

+0

linux/mac上的mono/moonlight不会为'Environment.NewLine'返回'\ n'? – Oded 2010-10-05 10:44:05

+0

@Oded:如果代码在那里运行,他们会这样做,但听起来他们更可能是Linux浏览器与Windows服务器交谈。 – 2010-10-05 10:47:58

+0

@有待澄清,我使用Windows 2003和IIS – TheLukeMcCarthy 2010-10-05 10:50:04

相关问题