使用换行符显示发布的文本

时间:2010-07-06 16:33:29

标签: c# asp.net html sql-server

在aspx页面上我有asp:textbox multilined,我键入数据。 当我将TextBox1.text分配给字符串时,我会得到类似这样的内容:

"line1\r\nline2\r\nline3"

但如果我尝试将其设置为字面值,我会得到:

line1 line2 line3

(没有线吠)

如何解决?是用<br />替换\ r \ n的唯一方法吗?

注意:如果我存储了放入数据库(sqlserver),并在sql management studio中打开表 - &gt;编辑行 - &gt;我看到字符串line1line2line3(所有在一起),但如果尝试复制到剪贴板这个内容(Ctrl + C)只复制line1!为什么呢?
另外,如果我将这些数据绑定到转发器,并将Eval(“myfield”)绑定到转发器,我就会得到线路制动器!

2 个答案:

答案 0 :(得分:1)

在C#中

string htmlFormattetText = textStringFromDB.Replace("\r\n","<br />")

或在SQL

SELECT REPLACE(TextCol,'\r\n','<br />' FROM MyTable

答案 1 :(得分:0)

这就是诀窍。您的输入是这样的:

  

我有asp:textbox multilined

但你的输出是这样的:

  

我尝试将其设置回文字

文字控件只渲染原始html, raw html忽略换行符。多行文本框呈现为html textarea元素,textarea的值表示换行符。