2011-11-16 13 views
3

在我以前的工作,我們的團隊建築師是強烈反對,包括標記任何服務器端代碼,即使是簡單的ID,所以這段代碼不會被允許在得到檢查:在標記頁面(aspx)中添加服務器端代碼是否會影響性能?

<script> 
    var el = document.getElementByID('<% SomeElement.ClientID %>') 
</script> 

,而不是你必須注入它通過Page.ClientScript.Register轉換成javascript ...

他的理由是,如果asp.net有這些服務器代碼包含,每次都必須重新編譯一個頁面。

這聽起來不合適,但我找不到任何證據。

任何想法?這是否改變了績效?我知道標記中的服務器端代碼並​​不好,因爲它在調試和可讀性方面存在困難,並且存在分離gcode表單標記的問題,但我只關注性能差異。

謝謝!

+1

我想你忽略了實際的代碼示例。 – Brandon

+0

但是,爲您的元素添加ID屬性對於客戶端代碼可能很有用。 – BumbleB2na

+0

謝謝,只是修復了它 – Andrey

回答

11

你的建築師是錯的。

ASP.NET編譯一次頁面,無論它是否包含任何C#代碼。只有在檢測到ASPX文件自上次編譯後發生更改時,它纔會重新編譯頁面。

+0

你有來源嗎?還是你自己觀察過這個? – sq33G

+0

這就是我一直告訴他我和他一起工作了兩年的時間,但他要求證明我無法弄清楚如何得到。我仍然想回到他身邊,想知道我怎麼能證明這一點? – Andrey

+0

是啊,我認爲所有這些文件都被塞進'\ Microsoft.NET \ Framework \ v2.0.50727 \ Temporary ASP.NET Files'中,如果你想看.. –

0

使用分析工具(如JetBrains中的dotTrace)可以明確地告訴您性能指標。寫2頁...一個沒有服務器端的東西...和測試。

相關問題