2012-06-07 103 views
2

我有大約20個網格視圖,我必須創建。所有這些都是相當標準的全面。只需要IEnumerable T並將其顯示在網格視圖中,就是這樣。建立單獨的頁面或不是

我寧願創建一個aspx頁面,並使用ITemplate動態生成網格視圖。我猜想數據源使用IEnumerable Object。

在按照我想要做的方式做它之間是否存在重要的性能考慮因素,還是最好在單獨的aspx頁面上構建20個或更多的網格視圖?

我關心的一個例子是將List T和cast轉換爲IEnumerable T,其中T是Object類型。

回答

1

有一個通用視圖頁面是最好的 - 它可能聽起來像你的情況。

其次,由於IEnumerable是List所具有的行爲,所以從List到IEnumerable沒有性能問題。

然而,你會得到一個性能命中建立一個列表,如果你不已經擁有了它 - 這是好得多,以確保您傳遞的IEnumerable從LINQ語句直接作爲使用時,它才意識到 - 它可以有長列表和使用排序或篩選時的主要優點(因爲您可以在IEnumerable實現之前修改它)

與任何與性能相關的內容構建它並對其進行配置以查看性能是否成問題。沒有多少意見,但是知情的是替代剖析,只有在必要時才進行優化,總是避免過早優化。

0

如果有什麼習俗,你必須只顯示所有20桌默認數據/列表的話,我認爲你應該使用一個頁面

1

20格的意見,確定

只要確保你禁用ViewState不需要它的控件。

這將大大減少你的頁面大小&依次減少頁面加載時間。

2

建立一個和性能測試。應用經驗教訓會更容易。

如果數據很長,請關閉緩衝以提高第一個字節的時間。

+0

您能否幫我理解當您說「關閉緩衝...」時您的意思 – Rod

+1

<%@ Page ... Buffer =「False」%>默認情況下,這是True,表示整個頁面,向下到最後一個字節,直到完全寫出爲止。然後它被髮送到客戶端。如果頁面很長,則會浪費用戶的時間。如果頁面很短,關閉該頁面會浪費服務器和客戶端CPU。 –

相關問題