由GridView的BoundField字段的HtmlEncode属性引起的苦恼

    今天写一段程序时,由于没有注意到GridView的BoundField字段的HtmlEncode属性而导致郁闷了大半天,特总结如下,与大家一起分享经验。
    问题描述:
    某一数据库的A表中的a字段中的值为类似"<font color=blue>abc</font>"的html代码段组成的。如下表所示:
 ac
<font color=blue>abc</font>......... .........
<font color=red>def</font>..................
<em>gef</em>
..................
...........................
A表
    用GridView的BoundField(数据绑定字段)显示上述A表中a字段数据内容时,GridView显示效果如下:
 ac
<font color=blue>abc</font>......... .........
<font color=red>def</font>..................
<em>gef</em>
..................
...........................
    从中我们可以发现,A表中a字段中的html代码并未被解析。实际数据库A表中a字段值之所以加入html代码,是为了能让其在GridView显示数据时,应用对应的html代码效果,例如:让abc显示为蓝色字体,def显示为红色字体,gef为斜体。
    原因:
    经查看显示页面的html源代码,我们发现原来A表中a字段中的html代码段值在通过GridView控件显示到页面时,是经过html编码输出的,例如<font color=blue>abc</font>在页面上输出结果为:&lt;font color=blue&gt;abc&lt;/font&gt;
    解决办法:
    经在网络上查找资料得知,原来GridView的BoundField(数据绑定字段)中有一个HtmlEncode属性,如下图所示:
   
    该属性默认值为True,当该值为 True时,该BoundField中所有数据都将经过html编码输出,所以我们只要将GridView中绑定a字段的BoundField的HtmlEncode属性值设置为False,取消该对该字段进行html编码输出,就可以达到我们显示的效果,GridView显示的结果如下:
 ac
abc......... .........
def..................
gef
..................
...........................
    经验总结:
    将GridView的BoundField字段的HtmlEncode属性设置为True(默认值为True),可对此字段值进行html编码,可以防止恶意的程序代码。若将HtmlEncode属性设置为False,将取消对此字段值进行html编码。
    Ps:另外今天我无意发现,原来用VS2005自带的TreeView控件(Web版本)写的一个树,今天运行效果比以前快多了,和以前VS2003时的TreeView控件速度差不多(之前感觉VS2005的TreeView控件运行起来比VS2003时的TreeView控件慢多了),程序没有任何改变,我可以想到的改变就是最近打了winxp sp3补丁,难道是该补丁引起的?还是我自己今天机器变快了,还是今天产生了错觉,呵呵,不知道大家有没有注意到。

转载于:https://www.cnblogs.com/niat-alex/archive/2008/05/21/1204377.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值