MultiLine 换行后 读取不换行
<asp:TextBox ID = "txtRecord" TextMode="MultiLine" Columns="30" Rows="10" runat="server" />
输入内容中有换行,保存到数据库,直接查看感觉没有换行,但查询结果“以文本格式显示结果”你就会发现 其实是有换行的。
接下来问题就来了,页面读取显示,为什么换行又没了??!!查阅N多文档,发现:
控制字符 | 值 |
---|---|
制表符 | CHAR(9) |
换行符 | CHAR(10) |
回车 | CHAR(13) |
明白了吧,但又一个容易误导的是,“换行符”和“回车” “以文本格式显示结果” 都是换了一行的
经过测试发现,ASP.Net文本域插入的是 “换行符” CHAR(10) 哦耶这下可以了吧,对于老鸟来说,下面就不用我说了吧。
但考虑到新手也比较多的情况说明一下吧:
lblInfo.Text = dt.Rows[0]["Info"].ToString().Replace("CHAR(10)","<br>"); 错!!!!!!!!!
CHAR(10) 不是文本,这样替换是不行的.
想要在SQL中插入换行是这样写的
insert into Order_Messages values('','aaaa'+char(13)+' nbbb',1,getdate())--注意红色部分
所以程序中应该是这样处理的:
SELECT TOP 1 *,REPLACE(contents,char(10),'<br>') AS Cont FROM Order_Messages
这个应该没问题了吧。。。。。。
好吧,有人说,我页面有编辑功能,但一点编辑<br>都带出来了。。。。。。。
好人做到底:
txtRecord.Text = lblSCLTJL.Text.Replace("<br>","\r\n");
OK 收工,完整了。