1

我一直使用 Replace(myString, vbCrLf, "<br/>") 从数据库中将某些内容输出到页面时显示换行符(保留换行符)。我现在使用一个 DetailsView,它有一个 textarea 作为字段之一,并使用 LinqDataSource 作为它的数据源。我想允许用户在 textarea 中键入换行符并将它们显示在页面上(替换为 <br/> 以显示 HTML 中的换行符)。Linq 似乎正在用其他东西替换换行符,这导致 Replace 语句找不到换行符,因此不插入 html <br/>。将值从数据库加载到 textarea 时,换行符仍然存在。我尝试用 <br> 替换以下内容,但没有一个有效。

vbCrLf
vbNewLine 
Environment.NewLine 

...这些都不起作用...我需要用 <br> 查找/替换什么来显示休息时间?

4

3 回答 3

0

把字符串看成字节数组,换行符是什么值?这里只有这么多选项,10、13,两者都有,没有?

于 2009-07-27T18:00:40.727 回答
0

TextArea 根据浏览器使用不同的换行符:

  • Internet Explorer: \r\n
  • 火狐:\n

也有人建议在某些情况下使用 \r ,尽管我没有遇到过这些情况。

回车编码为 %0D,换行编码为 %0A。因此,如果您的文本是 HTML 编码的(应该如此),那么您需要用 <br /> 替换 %0D 和/或 %0A [取决于您的环境]

这是关于http://www.highdots.com/forums/html/standard-newline-character-264611.html主题的完整讨论。

于 2009-07-27T18:05:44.570 回答
0

这对我很有用:

string Output = HttpUtility.HtmlEncode(DirtyText); // HTML Encode it first for safety..
return Output.Replace("\n", "<br />");             // Now replace New Lines with HTML BRs

你最终会得到一个安全的编码输出,但也可以很好地格式化行间距,就像用户在标准文本区域中输入的那样。

于 2010-12-31T04:14:42.710 回答