HtmlGenericControl("a") vs. HtmlAnchor

本文关键字:quot vs HtmlAnchor HtmlGenericControl | 更新日期: 2023-09-27 18:05:40

我正在调查为什么我的一个应用程序运行得很慢。应用程序生成并显示网格,并用工作任务填充网格(呈现为表格单元格)。在每个任务中都有一个<a href="...,用于显示有关该任务的更多信息。

由于这都是从代码背后动态构建的,因此我使用HTMLTableRows/Cells创建行和单元格,然后使用Controls属性添加HTMLAnchors。每当我设置属性时,我都使用HTMLAnchor.HRef, HTMLTableCell.ColSpan等。

我注意到,如果我使用通用的HTMLGenericControl,然后使用它的Attributes集合,例如

HTMLGenericControl a = new HTMLGenericControl("a");
a.Attributes["href"] = task.getLink();

它的运行速度比我所认为的做同样事情的首选方式要快得多:

HtmlAnchor a = new HTMLAnchor;
a.HRef = task.getLink();

有人能解释一下这个明显的额外"开销"是从哪里来的吗?

编辑

如果有人对我的解释感到困惑,我发布了另一个相同项目的问题,其中有一个截图

HtmlGenericControl("a") vs. HtmlAnchor

@subkamran我也有同样的想法,但是在查找之后,实际上HTMLAnchorHTMLGenericControl都是从同一个父级分类的:HTMLContainerControl。一个显著的区别是,htmlchor实现了IPostBackEventHandler来处理"ServerClick"事件。这无疑增加了速度……