一个小教训

              今天在做项目的时候发现了一个以前从来怪问题:有一个TextBox多行文本框,用来保存备注信息,当然在提交该备注信息到数据时,里面也可以换行等标记。在页面显示的时候 ,也要把这些标记给显示出来。

            可就是这些简单的标记让我遇到了麻烦,我插入数据库的时候用的是Server.HtmlEncode() 的方法,显示时用的是Server.HtmlDecode(), 但是这样不行。后来我就在Server.HtmlEncode()改为Server.HtmlEncode().Replace("/n","<br>"),然后在显示的时候再Decode回来,结果还是以失败告终,最后察看数据库得知,我插入的数据并没有在该换行的地方加上换行标记,所以在显示的时候才会出现问题。 数据库中该列字段的数据类型是text型的,我清晰的记得SQLServer2000中如果你加上换行符的话,就能在数据库中相应的位置看到你换行的结果,但是SQLServer2005怎么不行了呢,为什么呢?

          经过仔细的调试分析,最终还是找到了根源,原来在插入数据库的时候/n被当作非法字符替换掉了,所以数据库中就找不到换行符了,于是我进行了如下处理“//n”,结果一切搞定。

          从中可以得知,以后再做程序的时候一定要从实际出发,不能一味本着经验办事!呵呵!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值