四控件的選擇
Html控件和服務器控件的選擇服務器控件帶來的方便和功能上的實現是html控件所不能比擬的但是是以犧牲服務器端的資源來取得的我個人建議如果html控件達不到所要實現的功能而且和一些腳本語言(如javascrpt/vbscript)結合也不能實現的話才會選擇服務器控件選擇服務器控件後也盡量對其控件優化如取消一些頁面狀態等(具體看控件的優化)
服務器控件的選擇主要針對幾個常用數據控件說明一下
DataGrid自帶最強大的數據顯示控件內置了對數據的修改刪除添加分頁等很多實用功能如果你只需對數據顯示的話盡量不要選擇DataGrid(它把數據都存儲在viewstate中)也不要使用自帶的分頁功能microsoft在自動分頁的底層做了很多工作雖然使用方便了但性能開銷大了
DataList比DataGrid功能少了很多但自定義性強了很多特有的多行數據顯示給我們帶來了很多方便DataGrid能實現的功能它基本能實現所以建議使用它
Repeater功能最少但自定義性非常強如果只需對數據顯示建議使用由於減少了很多功能對服務器的性能帶來消耗最小因此如果是對數據顯示的話我基本上都是選擇Repeater然後DataList最後DataGrid
盡量選擇html控件能在客戶端實現的功能就在客戶端實現(熟練掌握javascript)減少服務器的壓力數據控件選擇順序RepeaterDataListDataGrid
五服務器控件的優化
Viewstate
控件的viewstate與頁面的viewstate基本是一致的用來保存控件的一些狀態處理原則和處理頁面的viewstate一樣有興趣的可以用Datagrid綁定數據測試下viewstate保存的數據量有多大它所保存的數據基本和Datagrid顯示的數據量大小是等同的
Ispostpack
默認false需要產生事件的時候才需設置為true
控件的優化主要看你對此控件的熟悉情況對控件內部運作的原理越了解就會對其作出合適的優化
性能優化是三兩句話說不清的我所寫出的僅僅是冰山一角性能的優化是靠平時經驗的積累和對程序的運作原理的不斷認知
[] [] []
From:http://tw.wingwit.com/Article/program/net/201311/14967.html