簡單介紹ASP.net服務(wù)器控件
ASP.NET服務(wù)器控件是一種服務(wù)器端組件,它封裝了用戶界面及其相關(guān)的功能。相關(guān)的一些文章,大家可以看看這兩篇,《ASP.NET服務(wù)器控件視圖淺析》和《ASP.NET組件設(shè)計學(xué)習(xí)之ASP.NET服務(wù)器控件》
我們都知道,每一個服務(wù)器控件在服務(wù)器端創(chuàng)建相應(yīng)的對象,都是以犧牲服務(wù)器端的資源為代價的,過多的使用服務(wù)器控件會極大的影響程序的性能。但是服務(wù)器控件所帶來的方便和功能是html控件所不能比擬的
服務(wù)器控件的狀態(tài)視圖屬性能夠自動的在頁面往返過程中維護服務(wù)器控件的狀態(tài),減少開發(fā)者的工作量,但是需要占用大量的服務(wù)器內(nèi)存資源。因此,在不需要服務(wù)器控件狀態(tài)視圖的情況下,應(yīng)將其EnableViewState屬性設(shè)置為false,如常用的和控件。
Page.IsPostBack用于記錄頁面是否從客戶端返回,若為false表示初次運行,否則表示從客戶端再次返回該頁面。
Page.IsPostBack的合理應(yīng)用可以避免頁面在往返過程中的一些不必要的操作。在Page_Load函數(shù)及一些只需要初始化一次的事件函數(shù)中均可以使用該屬性來提高應(yīng)用程序性能。
- void Page_Load(Object o, EventArgs e)
- { if(! Page.IsPostBack)
- {conn=new SqlConnection("server=localhost; uid=sa; pwd=; database=data");
- String sql="select * from student";
- cmd.Fill(ds,"stu");
- mydataGrid.DataBind();
- }
- }
DataGrid控件帶有最強大的數(shù)據(jù)顯示功能,還內(nèi)置了對數(shù)據(jù)的修改、刪除、添加、分頁等很多功能。如果只需簡單的顯示數(shù)據(jù), DataGrid并非最佳選擇。DataGrid控件的分頁功能,數(shù)據(jù)的存儲方式(存儲在viewstate中)等,雖然讓程序開發(fā)者使用方便快捷,但由此產(chǎn)生的性能開銷不容小視。
DataList控件比DataGrid功能少了很多。但自定義性強了很多。特有的多行數(shù)據(jù)顯示還是比較方便的。DataGrid能實現(xiàn)的功能,它基本能實現(xiàn)。
Repeater控件功能最少,但自定義性非常強。由于減少了很多功能,對服務(wù)器的性能帶來消耗最小。
因此,在只需簡單顯示數(shù)據(jù)列表時,選擇Repeater或DataList控件同樣可以達到目的,而且減輕了性能上的開銷。
本文就給大家介紹到這,關(guān)于服務(wù)器的相關(guān)文章,大家開看瀏覽本站的開放頻道。希望本文能給大家?guī)韼椭?/p>