一个较完整的关键字过滤解决方案
(中)
问题远没结束
上面的问题解决了没有?哦哦,我是指采取命名约定的方式来改变过滤行为。当然有问
题,不过我这里提一下比较重要的两个:
“
”
——
首先,就是 改名 这种行为
究竟是否方便?还记得我们的需求吗(提示一下:方
……
便、通用
)?如果采取上面的命名约定方案,我们可能就需要在页面的前端和
后端都不断地改名,一会儿加
-noffw,一会儿加-json。如果项目只由您来负责这还
好办,只是麻烦一些,但是如果您的团队中的前台开发人员性格古怪,固执己见,
不愿配合怎么办(打架我喜欢,可惜不能直接解决问题)?再者,假如您除了一个
FilterForbiddenWordModule
“
之外还有类似的
FilterScriptInjectionModule”
怎么办(别真写这么一个
HttpModule,不合适,老赵只是想不出一个恰当的例子
了)?如果两个
Module 都采取命名约定的方式,那么如何制定一个两者能同时认
同的约定就也是个麻烦事。
再者,命名真是我们可以控制的吗?某些情况下好说,但是假如您在使用
WebForms
中的控件怎么办?
WebForm 中的一个重要特性就是用过 Naming Container 来
避免客户端
ID 的冲突。假设我们的页面是放在一个 Master Page 中 ID 为 Main 的
ContentPlaceHolder 中,那么 ID 为 txtPassword 的文本框在客户端里生成的
HTML
——
“
”
便会如下所示
那么我们又能有什么办法可以做到 命名约定 吗?