FineUI 官方论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

本论坛已关闭(禁止注册、发帖和回复)
请移步 三石和他的朋友们

FineUI首页 WebForms - MVC & Core - JavaScript 常见问题 - QQ群 - 十周年征文活动

FineUI(开源版) 下载源代码 - 下载空项目 - 获取ExtJS - 文档 在线示例 - 版本更新 - 捐赠作者 - 教程

升级到 ASP.NET Core 3.1,快、快、快! 全新ASP.NET Core,比WebForms还简单! 欢迎加入【三石和他的朋友们】(基础版下载)

搜索
查看: 8051|回复: 10
打印 上一主题 下一主题

项目测试中,一个关于grid的显示html代码问题

[复制链接]
跳转到指定楼层
楼主
发表于 2012-5-21 10:51:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在做的项目进入测试流程了,不过测试人员好BT,竟然在输入里敲html代码,还好数据在textbook保存显示什么的完全没问题,但是返回grid列表就出问题了,BoundField对html甚至是<>符号相当敏感,整个就是不显示了(如果输入'<dddd',就啥都不显示),请问这个有什么好的解决办法吗?
沙发
 楼主| 发表于 2012-5-23 16:31:02 | 只看该作者
没人帮我看一下哦
板凳
发表于 2012-5-23 21:52:00 | 只看该作者
TiDi 发表于 2012-5-23 16:31
没人帮我看一下哦

目前ExtAspNet的Grid不会对字段内容进行HTML编码,因此如果出现这样的情况,你可能需要转换成模板列,然后使用 Server.HtmlDecode 来编码数据库字段后显示。
地板
发表于 2012-5-23 22:38:28 | 只看该作者
或者你可以自己下载源代码编译一下:77790

将来发布的v3.1.7会包含这个特性:

+为Grid的BoundField、HyperLinkField、LinkButtonField、WindowField增加HtmlEncode和HtmlEncodeFormatString(TiDi)。
5#
 楼主| 发表于 2012-5-24 15:13:37 | 只看该作者
support 发表于 2012-5-23 22:38
或者你可以自己下载源代码编译一下:77790

将来发布的v3.1.7会包含这个特性:

非常感谢,我下来编译试试。
6#
发表于 2012-5-24 16:31:23 | 只看该作者
顶……
7#
发表于 2012-5-24 22:28:57 | 只看该作者
本帖最后由 松松工作室 于 2012-5-24 22:36 编辑

我们的项目测试时也是很BT的,测试人员会输入各种特殊字符甚至转义字符如& #62;等等,这个问题也曾经让我们开发人员很头疼,一般我们采用三种方式进行处理。
1.将输入的特殊字符进行过滤,比如将<替换为空字符
2.将特殊字符转成全角字符比如将<转换成<
3.将输入编码成转义字符存到数据库(比如&转换为& #38;),读取数据时再进行解码转换。(这是我们现在用的方法)注意编码顺序,要把&转换放在编码的第一行。这种方法也是最遵循用户输入原意的方式,前面两种都是改变了用户的原意。另外注意下拉列表的解析,搞不好会出错的。这个方法已经在我们的项目中很成熟。
综上,如果单纯的改变前端编码转换,很有可能带来其他的问题,比如输入是段JS代码,前台编码后就执行了,这是相当危险的。因此最好的解决方案就是双向的,存入数据库时编码,读取时解码,原样输出。
以上是我们开发时积累的经验,如果有好的解决方案欢迎讨论。
晕:这个编辑器也把我输入的转义字符解释了。。。。加粗部分我加入了空格。
8#
发表于 2012-5-24 22:39:05 | 只看该作者
PS:像百度之类的网站,也未对转义字符进行特殊处理,如下图


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
9#
 楼主| 发表于 2012-5-27 22:19:56 | 只看该作者
松松工作室 发表于 2012-5-24 22:39
PS:像百度之类的网站,也未对转义字符进行特殊处理,如下图

这种处理方式有个不到位的地方,就是会漏掉一些符号,而且后期处理的时候相当的麻烦,所有用到的地方都要做转码处理,其实现在只要绑定控件支持html编码就足以解决所有的问题了,就像ext:label那样。ext:textbox能完完整整的显示你所输入的东西,当然到了数据库层面,唯独",?%"这些特殊字符是必须处理的。
10#
 楼主| 发表于 2012-5-27 22:20:30 | 只看该作者
还是谢谢松松工作室提出的处理办法。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|FineUI 官方论坛 ( 皖ICP备2021006167号-1 )

GMT+8, 2024-5-20 16:10 , Processed in 0.050093 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表