ASP.net伺服器控制項的最佳化詳細說明

來源:互聯網
上載者:User

伺服器控制項的狀態視圖屬效能夠自動的在頁面往返過程中維護伺服器控制項的狀態,減少開發人員的工作量,但是需要佔用大量的伺服器記憶體資源。因此,在不需要伺服器控制項狀態視圖的情況下,應將其enableviewstate屬性設定為false,如常用的<asp教程:lable>和<asp:button>控制項。

page.ispostback的運用

page.ispostback用於記錄頁面是否從用戶端返回,若為false表示初次運行,否則表示從用戶端再次返回該頁面。page.ispostback的合理應用可以避免頁面在往返過程中的一些不必要的操作。在page_load函數及一些只需要初始化一次的事件函數中均可以使用該屬性來提高應用程式效能。

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控制項

datagrid控制項帶有最強大的資料顯示功能,還內建了對資料的修改、刪除、添加、分頁等很多功能。如果只需簡單的顯示資料, datagrid並非最佳選擇。datagrid控制項的分頁功能,資料的儲存方式(儲存在viewstate中)等,雖然讓程式開發人員使用方便快捷,但由此產生的效能開銷不容小視。

datalist控制項比datagrid功能少了很多。但自訂性強了很多。特有的多行資料顯示還是比較方便的。datagrid能實現的功能,它基本能實現。

repeater控制項功能最少,但自訂性非常強。由於減少了很多功能,對伺服器的效能帶來消耗最小。

因此,在只需簡單顯示資料列表時,選擇repeater或datalist控制項同樣可以達到目的,而且減輕了效能上的開銷

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.