2011-08-16 61 views
4

我正在研究爲什麼我的一個應用程序運行速度很慢。應用程序生成並顯示一個網格並用工作任務填充它(呈現爲表格單元格)。每個任務內都有一個<a href="...,它提供了關於任務的更多信息。由於這是從代碼隱藏動態構建的,因此我使用HTMLTableRows/Cells來創建行和單元格,然後使用Controls屬性添加HTMLAnchors。每當我設置屬性,我用HTMLAnchor.HRefHTMLTableCell.ColSpanHtmlGenericControl(「a」)與HtmlAnchor

我注意到,如果我使用通用HTMLGenericControl,然後利用其Attributes集合,例如

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

它的運行速度比我本來以爲顯著快是做同樣的事情的首選方式:

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

沒有人有那裏這種明顯的額外「開銷」來自任何解釋?

編輯

在任何情況下,通過我的解釋感到困惑,我張貼另一個問題在同一個項目,其中有一個screenshot

+4

你是什麼意思慢?是否需要瀏覽器一段時間才能呈現HTML?或者需要一段時間才能生成HTML?在system.web部分的Web.Config中,添加以下內容:'您可以準確查看時間花費 –

+0

@s_hewitt這真的很有用,謝謝。看起來最大的時間延遲是在頁面加載開始和結束以及渲染開始和結束之間。當我使用GenericControl方法時,時間幾乎減半。 – Arj

+0

處理頁面的總時間與渲染比較如何?例如,如果跟蹤中的總時間爲1秒,但該頁面需要5秒才能在瀏覽器中加載 - 則頁面傳輸速度較慢,或者渲染速度較慢。 –

回答

5

@subkamran我有同樣的想法,但在查看後,實際上HTMLAnchorHTMLGenericControl都是從同一個父代中分類的:HTMLContainerControl。一個顯着的區別是HTMLAnchor實現了IPostBackEventHandler來處理「ServerClick」事件。這肯定會增加一些慢的...