我们正在使用CMS,我需要更改一些完全黑盒子控件生成的HTML。通常我会对违规控件进行子类化并在其中进行调整,但由于控件的编写方式,我无法删除有问题的属性。
这使我无法通过母版页本身上的Render方法执行此操作。我想在呈现之前更改内容字符串,这将涉及一些Regex,以便删除正在呈现的无效属性。
鉴于此操作将在每个页面上运行,这是实现它的最有效方法吗?我应该做一个string.Contains()来检查HTML元素的存在吗?使用Regex会导致性能问题吗?
答案 0 :(得分:0)
首先,这是否必须在每个页面上运行?如果是这样,那很好,但是如果你只是在每个页面上运行,因为它是你当前想到的解决方案,那么回到手头的业务问题可能会更好。
如果您需要架构决策,“在绑定之前修复”比“修复渲染方法”更可取。这与主页无关。我宁愿按摩“数据集”来使用行绑定事件,因为代码显示更清晰的意图并且通常表现更好。
我还会考虑缓存,如果这是相同的内容一遍又一遍。如果不是,那你为什么要使用母版页。并且“它有一个渲染事件”并不是一个好理由。
希望这有帮助。