CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  ASP.NET

< 转化为&lt;后保存到数据库,但我现在从数据库读取到TextBox时,我想让它显示为<

楼主abcbsy(伴生缘)2006-06-01 20:59:18 在 .NET技术 / ASP.NET 提问

<   转化为&lt;后保存到数据库,但我现在从数据库读取到TextBox时,我想让&lt;它显示为<,有什么好一点的方法没? 问题点数:20、回复次数:5Top

1 楼net_lover(【孟子E章】)回复于 2006-06-01 21:01:34 得分 5

Text1.Text   =   Server.HtmlDecode("&lt;")Top

2 楼celas(长刀公主)回复于 2006-06-02 08:57:26 得分 10

从我个人设计   Web   程序的经验来看,   最好不要这样保存.  
   
  数据库层中的数据应当尽量"原汁原味",   忠实于用户的输入,   保证原始数据的一致性和权威性.   显示到   UI   层的时候才做变换.   否则可能出现的问题:  
   
  1.   html   的处理过滤比较复杂,   除了尖括号之外还有   &,   单双引号的处理等等,   很可能某段   html   字符串可以在   div   中正常显示,   但到了   textarea   或者   textbox   中就走样了,   这样一来为了正常显示,   你有必要再次过滤,   或者反过滤,   然后存储回数据库的时候又要处理,   经过层层过滤,   步骤一多最后得出来的是什么符号可能超出你的预计.  
   
  2.   数据库后台有通用性,   你现在的前台是   .NET,   但以后也可能因为需要改成   JSP,   PHP,   更有某些网站是同时运行   PHP   和   ASP.NET   的,   这样一来,   每种语言的   html   过滤以及字符串处理函数都有差异,   你的数据经过   ASP.NET   的   HTML   过滤存放如数据库,   那么   PHP   去读的时候就不一定能正确还原.  
   
  综上,   数据库中的字段内尽量保证原始.   就好像你用   notepad   编辑一样,   键盘输入了什么字符,   记事本中也存入什么字符,   而不会把   <   存储为   &lt;  
  Top

3 楼lxmzh21(猫)回复于 2006-06-02 12:26:38 得分 0

长刀MM   同志的观点已阅,深表同意。一般都是显示的时候才进行数据处理。Top

4 楼yunxiao_2004(云崤)回复于 2006-06-02 12:29:40 得分 5

设置validateRequest=false   属性,可以解决<>   的问题  
  <%@   Page   language="c#"   Codebehind="TaskDealWithV4.aspx.cs"   validateRequest=false   AutoEventWireup="false"   Inherits="UWayPlatForm.Task.TaskDealWithV4"   %>  
   
  Top

5 楼abcbsy(伴生缘)回复于 2006-06-02 13:38:42 得分 0

受教了,谢谢celas(长刀MM)!Top

相关问题

关键词

得分解答快速导航

  • 帖主:abcbsy
  • net_lover
  • celas
  • yunxiao_2004

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo