HtmlGenericControl("a")与HtmlAnchor

Arj*_*Arj 4 html c# asp.net performance

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

因为这都是从代码隐藏中动态构建的,所以我习惯于HTMLTableRows/Cells创建行和单元格,然后使用Controls属性进行添加HTMLAnchors.每当我设置的属性我用HTMLAnchor.HRef,HTMLTableCell.ColSpan等等.

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

HTMLGenericControl a = new HTMLGenericControl("a");
a.Attributes["href"] = task.getLink();
Run Code Online (Sandbox Code Playgroud)

它的运行速度明显快于我认为是做同样事情的首选方式:

HtmlAnchor a = new HTMLAnchor;
a.HRef = task.getLink();
Run Code Online (Sandbox Code Playgroud)

有没有人对这个明显的额外"开销"来自哪里有任何解释?

编辑

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

McG*_*gle 5

@subkamran我有同样的想法,但看着它之后,居然都HTMLAnchorHTMLGenericControl是子类:从同一祖先:HTMLContainerControl.一个显着的区别是HTMLAnchor实现了IPostBackEventHandler处理"ServerClick"事件.这肯定会增加缓慢的东西......