|
1
10
我在一个应用程序上工作,开发人员遵循了你正在探索的可怕道路。这让人想起了你不得不编写自己的ISAPI dll来吐出html代码的日子。这是一个经常令人头疼的工作。如果你的代码主要是字符串,那么就有问题了。 我更改的大多数此类代码都是实例化服务器对象,根据需要配置它们的属性,然后告诉它们。RenderControl(编写器)。这使得代码更容易阅读和使用。如果这带来的开销会影响性能,我愿意接受(事实上,在我做出更改后,应用程序通常会运行得更快,所以传闻情况并非如此,但我还没有分析我的代码)。 用字符串硬编码的一个简单缺点是当HTML标准发生变化时。我编写的代码是在04/05年编写的,从那时起<BR>已成为<br/>大写的html标签不再合法,等等。如果他们一直在使用服务器控件,那么这些服务器控件已经更改了他们输出的html,而我们不需要做任何事情。这只是一个简单的例子。 编辑:哦,顺便说一句,BeginRender和EndRender没有任何实现。它们是占位符,用于在HtmlTextWriter派生类中重写和提供自定义功能。 编辑2:有时候这有点麻烦 总是 使用服务器控件,比如容器和其他东西。我会做很多。控制。Add(),然后稍后渲染容器。所以有时候我会这样做:
如上所述,即使div的html在未来发生变化,这也会呈现正确的html,因为我没有任何硬编码的字符串。 |
|
2
4
在性能方面,这将需要完成更多的字符串复制。
|
|
|
3
1
我认为你不应该调用BeginRender/EndRender,这是由页面完成的。 我看不出使用字符串生成器如何比使用HtmlTextWriters自己的方法节省任何工作。 |