渲染前更改内容的最有效方法是什么(ASP.Net)

时间:2011-10-10 14:56:23

标签: asp.net regex content-management-system

我们正在使用CMS,我需要更改一些完全黑盒子控件生成的HTML。通常我会对违规控件进行子类化并在其中进行调整,但由于控件的编写方式,我无法删除有问题的属性。

这使我无法通过母版页本身上的Render方法执行此操作。我想在呈现之前更改内容字符串,这将涉及一些Regex,以便删除正在呈现的无效属性。

鉴于此操作将在每个页面上运行,这是实现它的最有效方法吗?我应该做一个string.Contains()来检查HTML元素的存在吗?使用Regex会导致性能问题吗?

1 个答案:

答案 0 :(得分:0)

首先,这是否必须在每个页面上运行?如果是这样,那很好,但是如果你只是在每个页面上运行,因为它是你当前想到的解决方案,那么回到手头的业务问题可能会更好。

如果您需要架构决策,“在绑定之前修复”比“修复渲染方法”更可取。这与主页无关。我宁愿按摩“数据集”来使用行绑定事件,因为代码显示更清晰的意图并且通常表现更好。

我还会考虑缓存,如果这是相同的内容一遍又一遍。如果不是,那你为什么要使用母版页。并且“它有一个渲染事件”并不是一个好理由。

希望这有帮助。