代码改变世界

挑战Textarea——把textarea中的HTML写入数据库

2008-07-31 11:45  Carol Xiong  阅读(1215)  评论(2编辑  收藏  举报

这两天忙活着把Textarea 中的数据写入数据库的问题:

在textarea中写入

   <variable name="Btn_Check" required="false"></variable>
   <variable name="Btn_Save" required="true"></variable>
   <variable name="Btn_Retake" required="true"></variable>
   <variable name="Btn_Next" required="true"></variable>
   <variable name="Btn_Delete" required="true"></variable>
   <variable name="Btn_Archive" required="false"></variable>
   <variable name="Btn_Especial" required="true"></variable>
   <variable name="Btn_Send_Local" required="false"></variable>
   <variable name="Btn_Send_Jifa" required="false"></variable>
   <variable name="Btn_Print" required="false"></variable>
   <variable name="Btn_Seal" required="false"></variable>

点击‘保存’,这段数据就写入到数据库的一张表的一个字段里了!但是当我从这个字段中拷出这段代码,发现它已变成这样:

&lt;variable name="Btn_Check" required="false"&gt;&lt;/variable&gt;   
&lt;variable name="Btn_Save" required="true"&gt;&lt;/variable&gt;   
&lt;variable name="Btn_Retake" required="true"&gt;&lt;/variable&gt;   
&lt;variable name="Btn_Next" required="true"&gt;&lt;/variable&gt;   
&lt;variable name="Btn_Delete" required="true"&gt;&lt;/variable&gt;   
&lt;variable name="Btn_Archive" required="false"&gt;&lt;/variable&gt;   
&lt;variable name="Btn_Especial" required="true"&gt;&lt;/variable&gt;   
&lt;variable name="Btn_Send_Local" required="false"&gt;&lt;/variable&gt;   
&lt;variable name="Btn_Send_Jifa" required="false"&gt;&lt;/variable&gt;   
&lt;variable name="Btn_Print" required="false"&gt;&lt;/variable&gt;   
&lt;variable name="Btn_Seal" required="false"&gt;&lt;/variable&gt;
这下麻烦了,因为我要通过这段xml数据来确定按钮的显示啊!!!!!!!!
然后一直在找方法,开始想从入口入手,想通过
  s1   =   Replace(s1,   "&",   "&amp;");  
  s1   =   Replace(s1,   "<",   "&lt;");  
  s1   =   Replace(s1,   ">",   "&gt;"); 
来解决,但是因为textbox是服务端的,这些输入的HTML标记也分服务端和客户端,服务端编译后就变成客户端的了,通过Replace转换失败~
而且textarea的value就是转义之后的,要是用于网页输出它会自动转换的,所以不能从入口解决问题,只能找出口解决,于是找到了FlowDom,加入字符过滤!
问题解决了,很高心~