從傳統ASP到ASP.NET的轉變:了解控件
DataGrid、DataList和Repeater是ASP.NET中最常用的三個控件。下面介紹從傳統ASP到ASP.NET的轉變:傳統ASP有什么缺陷,以及ASP.NET是基于怎樣的考慮解決這些問題的。
傳統ASP的問題
自從出現了像 Microsoft Active Server Pages (ASP) 這樣的簡單且基于腳本的 Web 編程技術以來,Web 開發又有了很大的發展。 傳統 ASP 中常見的大量枯燥、重復的編碼工作,在 Microsoft ASP.NET 中不復存在了。 例如,正如所有傳統 ASP 開發人員一度都知道的那樣,在傳統 ASP Web 頁面中顯示數據需要下面的偽代碼:
- Create connection to the database
- Populate an ADO Recordset with a SQL query
- Display any header HTML needed
- For Each Record in the Recordset
- Print out the Recordset field(s) and associated HTML
- Move to the next record
- Next
- Display any footer HTML needed
例如,要在 HTML
< table>
中顯示記錄集的內容,開發人員則不得不為
< table>
標記 (tag) 生成 HTML 標記 (markup),然后循環遍歷記錄集中的每一條記錄,每次循環生成一個
< tr>
標記,以及許多
< td>
標記和要顯示的記錄集字段的值。 最后,在循環之后,開發人員需要生成結束
< table>
標記。
傳統 ASP 所要求的這種方法有一個很大的缺點: 它把 HTML 內容和 ASP Web 頁面的源代碼緊密集成在一起。 因為沒有分離代碼和 HTML 內容,所以更改 HTML 的內容及其困難,尤其是對不懂編程技術的圖形藝術家或 Web 設計者來說更是如此。 而且,因為檢索數據庫結果和生成它的內容都需要代碼,所以代碼和 HTML 內容的這種集成相對來說需要大量的代碼。
傳統ASP到ASP.NET:控件的引入
幸好,ASP.NET 提供了三個控件,使得在 ASP.NET Web 頁面中顯示數據絕對比傳統 ASP 所需的迭代方式簡單得多。 這三個控件是 DataGrid、DataList 和 Repeater,以后我將稱之為數據 Web 控件。 也許,如果您已經開發過 ASP.NET Web 頁面,那么至少會對這三個控件中的一個有一些經驗。 通常,開發人員從學習 DataGrid 開始,這是因為 DataGrid 使用簡單以及它具有允許數據排序、分頁和編輯的功能。 但是,在 ASP.NET Web 頁面中顯示數據時,DataGrid 并不總是控件的最佳選擇。
在下文中,我們將研究這些數據 Web 控件中每個控件的獨特特性。 這些特性賦予每個數據 Web 控件許多優點和缺點。 因為每一個數據 Web 控件都有一些缺點,所以沒有可用于任何作業的“完美”控件。 決定使用哪個控件時,必須權衡這三個數據 Web 控件每一個的優點和缺點,然后再決定哪個控件是最合適的。
為了協助進行比較,研究每一個數據 Web 控件時,我們將著重于這三個衡量標準: 可用性(從 Web 訪問者的角度)、開發時間和性能。 我們首先快速瀏覽一下這三個數據 Web 控件之間的相似性。 接下來我們將深入研究 DataGrid,然后研究 DataList,最后查看 Repeater。 對于每一個控件,我們將研究這些控件的功能,并討論它的功能集是如何影響這些衡量標準的。
以上就對傳統ASP到ASP.NET的轉變進行了簡單的介紹。
【編輯推薦】