GridView列中的多空格问题
来源:互联网 发布:初中科学培训软件 编辑:程序博客网 时间:2024/06/05 07:12
GridView列中的多空格问题
作者:不详 来源:互联网
日前,做一个应用程序.aspx页面中有一个GridView控件,其数据源是DataTable。数据的某一列(假设为Col)的中间位置有N(N >= 0)个空格,形如"A BC"、"A BC",字符串中间空格数量不定。展示到IE浏览器中,用户使用鼠标选择该列的值,拷贝到其他文本框中做为查询条件。
IE浏览器会非常智能化的将"A BC"、"A BC",统统显示为"A BC",即使A和B之间的空格有多个,也只是被浓缩为一个。问题出现了,因为用户需要选择渲染后的值作为搜索条件进行查找,显然,"A BC"并不等于"A BC"。
上网找了很多资料,绝大部分都是说,如果DataFormatString不生效,将HtmlEncode属性设置为false。只好自己动手了。
首先想到的是,HTML中,空格是使用" "表示,那么将Col列中的空格替换为" "是不是就解决问题了呢?结果,不正确。替换
后,在Col中显示的是"A BC"。为什么这样子呢?应该是Asp.Net在渲染、拼装GridView的HTML代码时,将"A BC"做为一个字符串处理,而不是对" "进行了转义解释。查看了MSDN后,查看到BoundField类的HtmlEncode属性,在MSDN中这样介绍,HtmlEncode,获取或设置一个值,该值指示在 BoundField 对象中显示字段值之前,是否对这些字段值进行HTML 编码。
再结合遇到的情况,可以发现,之所以" "没有被渲染,其实就是因为在渲染时,已经将" "看作了字符串。
设置Col对应BoundField的HtmlEncode属性为false,再次运行程序,ok。成功。
IE浏览器会非常智能化的将"A BC"、"A BC",统统显示为"A BC",即使A和B之间的空格有多个,也只是被浓缩为一个。问题出现了,因为用户需要选择渲染后的值作为搜索条件进行查找,显然,"A BC"并不等于"A BC"。
上网找了很多资料,绝大部分都是说,如果DataFormatString不生效,将HtmlEncode属性设置为false。只好自己动手了。
首先想到的是,HTML中,空格是使用" "表示,那么将Col列中的空格替换为" "是不是就解决问题了呢?结果,不正确。替换
后,在Col中显示的是"A BC"。为什么这样子呢?应该是Asp.Net在渲染、拼装GridView的HTML代码时,将"A BC"做为一个字符串处理,而不是对" "进行了转义解释。查看了MSDN后,查看到BoundField类的HtmlEncode属性,在MSDN中这样介绍,HtmlEncode,获取或设置一个值,该值指示在 BoundField 对象中显示字段值之前,是否对这些字段值进行HTML 编码。
再结合遇到的情况,可以发现,之所以" "没有被渲染,其实就是因为在渲染时,已经将" "看作了字符串。
设置Col对应BoundField的HtmlEncode属性为false,再次运行程序,ok。成功。
- GridView列中的多空格问题
- GridView中的自定义列
- GridView中的自定义列
- GridView中的自定义列
- GridView中的自定义列
- GridView中的自定义列
- gridview中的隐藏列
- GridView 隐藏列问题
- GridView隐藏列问题
- 访问gridview中的隐藏列
- 绑定GridView中的模板列
- GridView控件中的ButtonFiled列
- 合并GridView中的模板列
- GridView之隐藏列问题
- GridView多列排序
- jquery中的空格问题
- 数据库表中的列包含空格
- 获取GridView 中隐藏列中的值
- Java循环的谜题
- 把一个vc编写的exe文件的界面外观修改
- 【妖气冲天】小苏有朋性感禁播MV,大尺度、大尺度!要Hold住、要Hold住!
- 基于FPGA的 powerPC 串口扩展
- FP增长(发现频繁相集而不产生候选)
- GridView列中的多空格问题
- linux下条件变量的使用
- Useful SQL script
- 今天比较在状态,很high,java解惑的第二章字符的全部看完了。
- 基于AR虚拟现实技术的维基世界浏览器wikitude
- 跨越边界: 延迟绑定
- 溢出文本省略
- openLDAP安装
- 一些vi命令