ASPNET服務器控件是一種服務器端組件它封裝了用戶界面及其相關的功能相關的一些文章大家可以看看這兩篇《ASPNET服務器控件視圖淺析》和《ASPNET組件設計學習之ASPNET服務器控件》
我們都知道每一個服務器控件在服務器端創建相應的對象都是以犧牲服務器端的資源為代價的過多的使用服務器控件會極大的影響程序的性能但是服務器控件所帶來的方便和功能是html控件所不能比擬的
服務器控件的狀態視圖屬性能夠自動的在頁面往返過程中維護服務器控件的狀態減少開發者的工作量但是需要占用大量的服務器內存資源因此在不需要服務器控件狀態視圖的情況下應將其EnableViewState屬性設置為false如常用的和控件
PageIsPostBack用於記錄頁面是否從客戶端返回若為false表示初次運行否則表示從客戶端再次返回該頁面
PageIsPostBack的合理應用可以避免頁面在往返過程中的一些不必要的操作在Page_Load函數及一些只需要初始化一次的事件函數中均可以使用該屬性來提高應用程序性能
void Page_Load(Object o EventArgs e)
{
if(! PageIsPostBack)
{conn=new SqlConnection(server=localhost; uid=sa; pwd=; database=data);
String sql=select * from student;
cmdFill(dsstu);
mydataGridDataBind();
}
}
DataGrid
控件帶有最強大的數據顯示功能還內置了對數據的修改刪除添加分頁等很多功能如果只需簡單的顯示數據 DataGrid並非最佳選擇DataGrid控件的分頁功能數據的存儲方式(存儲在viewstate中)等雖然讓程序開發者使用方便快捷但由此產生的性能開銷不容小視
DataList控件比DataGrid功能少了很多但自定義性強了很多特有的多行數據顯示還是比較方便的DataGrid能實現的功能它基本能實現
Repeater控件功能最少但自定義性非常強由於減少了很多功能對服務器的性能帶來消耗最小
因此在只需簡單顯示數據列表時選擇Repeater或DataList控件同樣可以達到目的而且減輕了性能上的開銷
From:http://tw.wingwit.com/Article/program/net/201311/12435.html