在开发的过程中,发现如果我们利用TextBox编辑文字,即使你打了好多空格,分了好多段落,插入数据库之后,都不会认你的格式,我们再从数据库中读取出来的文字根本就没格式。那如何让在TextBox中的格式保留在数据库当中呢?我开始以为用Server.HtmlEncode可以,却没有达到目的,通过查资料,研究了好久才勉强能出一些效果,具体代码如下:
.........
string str="";
str=this.txtDescription.Text; //把TextBox中的内容先赋给str,再做处理
str=str.Replace("\r\n", "<br>");
str = str .Replace("\n", "<br>");
str = str .Replace(" ", " ");
d.DepartmentDescription=Server.HtmlEncode(str);
.......
这样在数据库中就是以HTML文本格式的数据了,用Server.HtmlDecode在Label中就可以显示你在TextBox中编排的格式。但如你把数据再放回TextBox中,同理你就得重新转换一次,即:
string str1="";
str1=sdr["DepartmentDescription"].ToString();
str1=str1.Replace("<br>", "\r\n"); //在数据库中"<"是"<" ">"是">",
str1=str1.Replace("<br>", "\n");
str1=str1.Replace("&nbsp;", " "); //&表示的是&
this.txtDescription.Text=Server.HtmlDecode(str1); //在TextBox中显示
......
那就这样OK了!
但这个方法还有一些缺陷,还请高手赐教!
据说这个问题用CSS也能解决,不过我没有试过
相关文章:
- Html 空格与换行 2021-09-26
- WPF 下TextBox 换行与 C#下TextBox换行 - jjssl 2021-10-18
- Winform 中 TextBox 换行问题解析 - Zzx飘遥 2021-10-18
- Html中代码换行造成空格间距的问题 2021-10-16
- 替换TextBox中的换行符 2021-05-31
- Unity 3D - Text空格自动换行问题 2021-11-29
- XAML中的空格、换行、Tab 2022-01-16
- Android中空格及换行 2022-12-23