五月综合缴情婷婷六月,色94色欧美sute亚洲线路二,日韩制服国产精品一区,色噜噜一区二区三区,香港三级午夜理伦三级三

您現(xiàn)在的位置: 365建站網(wǎng) > 365文章 > ASP.net服務(wù)器控件的優(yōu)化選擇

ASP.net服務(wù)器控件的優(yōu)化選擇

文章來源:365jz.com     點擊數(shù):126    更新時間:2010-12-29 23:19   參與評論

減少不必要的服務(wù)器控件

服務(wù)器控件帶來的方便和功能是html控件所不能比擬的。但是每一個服務(wù)器控件都需要在服務(wù)器端創(chuàng)建相應(yīng)的對象,是以犧牲服務(wù)器端的資源為代價的,過多的使用服務(wù)器控件會極大的影響程序性能。

很多情況下,簡單地使用html標記或數(shù)據(jù)綁定即能夠?qū)崿F(xiàn)所需功能。比如<asp:Label>控件,若使用它來顯示靜態(tài)信息,則完全可用簡單的標記來實現(xiàn)。如果html控件達不到所要實現(xiàn)的功能,而且在腳本語言如javascript、vbscript也不能實現(xiàn)的情況下,才考慮選擇服務(wù)器控件。

禁用不必要的狀態(tài)視圖

服務(wù)器控件的狀態(tài)視圖屬性能夠自動的在頁面往返過程中維護服務(wù)器控件的狀態(tài),減少開發(fā)者的工作量,但是需要占用大量的服務(wù)器內(nèi)存資源。因此,在不需要服務(wù)器控件狀態(tài)視圖的情況下,應(yīng)將其EnableViewState屬性設(shè)置為false,如常用的<asp:Lable>和<asp:Button>控件。

Page.IsPostBack的運用

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();
 }
}

以上代碼將保證只有在首次訪問該頁面時對數(shù)據(jù)庫進行讀取并綁定。

合理使用DataGrid控件

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控件同樣可以達到目的,而且減輕了性能上的開銷

如對本文有疑問,請?zhí)峤坏浇涣髡搲瑥V大熱心網(wǎng)友會為你解答?。?點擊進入論壇

發(fā)表評論 (126人查看,0條評論)
請自覺遵守互聯(lián)網(wǎng)相關(guān)的政策法規(guī),嚴禁發(fā)布色情、暴力、反動的言論。
昵稱:
最新評論
------分隔線----------------------------

其它欄目

· 建站教程
· 365學(xué)習(xí)

業(yè)務(wù)咨詢

· 技術(shù)支持
· 服務(wù)時間:9:00-18:00
365建站網(wǎng)二維碼

Powered by 365建站網(wǎng) RSS地圖 HTML地圖

copyright © 2013-2024 版權(quán)所有 鄂ICP備17013400號