ASP.NET 2.0 將常見 Web 任務封裝為應用程式服務與控件,使典型資料驅動應用程式代碼量減少 70%,甚至實現「零代碼」開發。核心在於宣告式資料源控件與新一代資料綁定控件的結合。
| 特性 | 說明 |
|---|---|
| 資料源控件 | 宣告式連接後端儲存(SQL、物件、XML、SiteMap),內建排序、分頁、快取、CRUD 功能,UI 控件自動啟用無需代碼 |
| 新資料綁定控件 | GridView、DetailsView、FormView、TreeView、Menu,支援自動排序、分頁、編輯、刪除 |
| 資料控件參數 | 從控件屬性、Session、Cookie、QueryString、用戶設定檔等來源宣告式傳遞參數,支援篩選與 Master/Detail |
| 改進資料綁定語法 | 簡化 DataBinder.Eval,支援雙向綁定(Bind())與 XPath 語法 |
| SQL Express 本地資料庫 | .mdf 檔案直接放在 App_Data,開發部署無需獨立 SQL Server 執行個體 |
| 控件 | 適用資料源 | 典型場景 |
|---|---|---|
SqlDataSource | SQL Server、OLE DB、ODBC、Oracle | 中小型網站、直接資料庫操作 |
ObjectDataSource | 中間層業務物件 (BLL/DAL) | 企業級分層架構、關注點分離 |
AccessDataSource | Microsoft Access (Jet) | 輕量級 Access 資料庫 |
SiteMapDataSource | ASP.NET 站點導航提供者 | 選單、樹狀導航、麵包屑 |
XmlDataSource | XML 檔案/文件 | 靜態 XML 資料、RSS Feed |
| 控件 | 呈現方式 | 關鍵特性 |
|---|---|---|
GridView | 表格網格 | DataGrid 進化版,支援多主鍵、自動 CRUD、豐富樣式、事件模型 |
DetailsView | 單筆記錄標籤/值表格 | 類 Access 表單檢視,支援插入/編輯/刪除、分頁 |
FormView | 自訂模板單筆檢視 | 完全掌控版面、支援雙向綁定、同樣自動 CRUD |
TreeView | 階層樹狀結構 | 節點展開/摺疊、資料綁定、站點導航整合 |
Menu | 動態分層選單 | 彈出式子選單、資料綁定、樣式豐富 |
SqlDataSource 後,設定 AllowSorting="true"、AllowPaging="true" 即啟用自動排序分頁。AutoGenerateColumns="false" 搭配 Columns 定義 CommandField(編輯/刪除/選取按鈕)實現零代碼 CRUD。DataKeyNames 指定主鍵欄位,確保更新/刪除正確識別記錄。RowEditing、RowUpdating、RowDeleting、RowCommand 等細粒度控制。<asp:SqlDataSource
ID="SqlDataSource1"
runat="server"
ConnectionString="<%$ ConnectionStrings:Northwind %>"
SelectCommand="SELECT * FROM Products"
InsertCommand="INSERT INTO Products (ProductName, UnitPrice) VALUES (@ProductName, @UnitPrice)"
UpdateCommand="UPDATE Products SET ProductName=@ProductName, UnitPrice=@UnitPrice WHERE ProductID=@ProductID"
DeleteCommand="DELETE FROM Products WHERE ProductID=@ProductID"
ProviderName="System.Data.SqlClient"
/>
ASP.NET 2.0 的資料綁定架構讓開發者專注於業務邏輯與使用者體驗,而非重複的 ADO.NET 管道代碼。