首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> ASP.NET 基礎 >> 關於ASP.NET

ASP.NET 2.0 資料庫程式設計技術概覽:從 ADO.NET 到資料源控制項的革命

     編輯:關於ASP.NET

歷史背景:為什麼需要 ASP.NET 2.0?

ASP.NET 1.x 時代,開發資料驅動頁面需手寫大量 ADO.NET 程式碼:建立連線、命令、資料配接器、填充 DataSet、綁定控制項……一個簡單的 GridView 編輯頁面動輒百行程式碼。ASP.NET 2.0 在 2005 年推出,宣稱「減少 70% 程式碼」,核心在於引入 資料源控制項 與 資料繫結控制項 的宣告式程式設計模型,讓開發者專注於商務邏輯而非管道代碼。

.NET Framework 架構回顧

CLR:語言中立的執行引擎

Common Language Runtime 提供記憶體管理、組件載入、安全性、JIT 編譯等服務,支援 C#、VB.NET、F# 等多語言互通,是 ASP.NET 應用程式的基石。

基礎類別庫(BCL)關鍵命名空間

  • System.Data:ADO.NET 核心,包含 SqlClient、OleDb、EntityFramework 等資料存取元件。
  • System.Web:ASP.NET 管道、控制項、快取、Session、安全性等 Web 應用模型。
  • System.Configuration:web.config 讀寫、連線字串管理。
  • System.Xml:XML 處理、序列化、XPath、LINQ to XML。

ASP.NET 2.0 資料存取新範式

宣告式資料源控制項

<asp:SqlDataSource ID="SqlDataSource1" runat="server"
    ConnectionString="<%$ ConnectionStrings:Northwind %>"
    SelectCommand="SELECT * FROM Products"
    UpdateCommand="UPDATE Products SET ProductName=@ProductName WHERE ProductID=@ProductID">
</asp:SqlDataSource>

<asp:GridView ID="GridView1" runat="server" DataSourceID="SqlDataSource1" AutoGenerateColumns="False">
    <Columns>
        <asp:BoundField DataField="ProductName" HeaderText="產品" />
        <asp:CommandField ShowEditButton="True" />
    </Columns>
</asp:GridView>

零後端程式碼即可完成查詢、分頁、排序、編輯、刪除,SqlDataSource 內部封裝連線管理、參數化查詢、交易處理。

ObjectDataSource:分層架構的橋樑

搭配自訂商務邏輯層(BLL)與資料存取層(DAL),ObjectDataSource 直接呼叫物件方法,支援型別安全參數、自動對應、舊值衝突檢測,實現真正的三層式開發。

LINQ to SQL / Entity Framework 整合

.NET 3.5 引入 LinqDataSource、EntityDataSource,支援 LINQ 查詢語法、延遲執行、變更追蹤,進一步提升開發效率。

資料繫結控制項演進

控制項ASP.NET 版本特色
DataGrid1.x表格式,功能有限,需大量程式碼
GridView2.0支援編輯、分頁、排序、範本、資料鍵
DetailsView / FormView2.0單筆記錄顯示/編輯,支援範本完整自訂
ListView / DataPager3.5完全掌控 HTML 輸出,支援群組、分頁控制項分離
Repeater1.x輕量、無預設版面,完全由範本決定

效能與安全最佳實踐

  1. 連線字串加密:使用 aspnet_regiis -pef "connectionStrings" 加密 web.config 敏感區段。
  2. 參數化查詢:資料源控制項內建參數集合,杜絕 SQL Injection。
  3. 快取策略:SqlDataSource.EnableCaching="true" + CacheDuration 減輕資料庫負載。
  4. 分頁優化:大資料集啟用 GridView.AllowCustomPaging 搭配預存程序 ROW_NUMBER() 分頁。
  5. ViewState 控制:唯讀頁面設定 EnableViewState="false",編輯頁面僅對必要控制項啟用。

遷移至 ASP.NET Core 的啟示

ASP.NET Core 採用 Middleware 管道、Dependency Injection、EF Core、Tag Helpers、Razor Pages/Blazor,雖架構大異,但「宣告式資料繫結、分層關注點分離、參數化查詢、快取策略」等核心思想延續至今。理解 2.0 時代的設計精華,有助於在現代框架中做出更優雅的架構決策。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved