ASP.NET 資料存取概觀
更新:2007 年 11 月
Web 應用程式通常會存取資料來源儲存及擷取動態資料。您可以撰寫程式碼使用 System.Data (通常稱為 ADO.NET) 和 System.Xml 命令空間的類別存取資料。這個方法在舊版 ASP.NET 中經常使用。
但是,ASP.NET 也能夠讓您以宣告方式執行資料繫結。這在最常見的資料案例中完全不需要程式碼,其中包括:
選取和顯示資料
排序、分頁和快取資料
更新、插入和刪除資料
使用執行階段參數篩選資料
使用參數建立主從式案例
ASP.NET 包含兩種參與宣告式資料繫結模型的伺服器控制項型別:資料來源控制項和資料繫結控制項。這些控制項會管理無狀態 Web 模型所需要的基礎工作,以顯示和更新 ASP.NET Web 網頁中的資料。因此,您不需要了解網頁要求生命週期的詳細資料,只需執行資料繫結。
資料來源控制項
資料來源控制項是管理連接資料來源,以及讀取與寫入資料工作的 ASP.NET 控制項。資料來源控制項不會呈現任何使用者介面,而是做為特定資料存放區 (例如資料庫、商務物件或 XML 檔案) 和 ASP.NET Web 網頁上其他控制項之間的媒介。資料來源控制項提供豐富的擷取和修改資料功能,包括查詢、排序、分頁、篩選、更新、刪除和插入。ASP.NET 包含下列資料來源控制項:
資料來源控制項 |
說明 |
---|---|
能夠讓您使用 Microsoft Access 資料庫。 如需詳細資訊,請參閱 AccessDataSource Web 伺服器控制項概觀。 |
|
讓您能在 ASP.NET 網頁中透過宣告式標記使用 Language-Integrated Query (LINQ),以便擷取和修改資料物件中的資料。支援自動產生選取、更新、插入和刪除命令。控制項也支援排序、篩選和分頁。 |
|
能夠讓您使用商務物件或其他類別,並且建立依賴中介層物件以管理資料的 Web 應用程式。 如需詳細資訊,請參閱 ObjectDataSource Web 伺服器控制項概觀。 |
|
搭配 ASP.NET 站台巡覽使用。如需詳細資訊,請參閱 ASP.NET 網站巡覽概觀。 |
|
能夠讓您使用 ADO.NET Managed 資料提供者,以存取 Microsoft SQL Server、OLE DB、ODBC 或 Oracle 資料庫。 如需詳細資訊,請參閱 SqlDataSource Web 伺服器控制項概觀。 |
|
能夠讓您使用 XML 檔案,針對階層式 ASP.NET 伺服器控制項,例如 TreeView 或 Menu 控制項特別有用。 如需詳細資訊,請參閱 XmlDataSource Web 伺服器控制項概觀。 |
資料來源控制項也可以擴充功能,支援其他資料存取儲存區提供者。
如需資料來源控制項的詳細資訊,請參閱資料來源控制項概觀。
資料繫結控制項
資料繫結控制項會將資料當做標記呈現至提出要求的瀏覽器。資料繫結控制項可以繫結至資料來源控制項,並在網頁要求生命週期的適當時機自動擷取資料。資料繫結控制項可以利用資料來源控制項提供的功能,包括排序、分頁、快取、篩選、更新、刪除和插入。資料繫結控制項會透過 DataSourceID 屬性連接至資料來源控制項。
ASP.NET 包含下表所描述的資料繫結控制項。
List 控制項
以各種清單格式呈現資料。清單控制項包含 BulletedList、CheckBoxList、DropDownList、ListBox 和 RadioButtonList 控制項。AdRotator
將網頁上的廣告呈現為影像,使用者可以按一下影像而移至與廣告關聯的 URL。如需詳細資訊,請參閱 AdRotator Web 伺服器控制項概觀。
DataList
將資料呈現在表格中。會使用您定義的項目範本呈現每個項目。如需詳細資訊,請參閱 DataList Web 伺服器控制項概觀。
DetailsView
在表格式配置中一次顯示一筆資料錄,並且讓您編輯、刪除和插入資料錄。您也可以逐頁查看多重資料錄。如需詳細資訊,請參閱 DetailsView Web 伺服器控制項概觀。
FormView
類似 DetailsView 控制項,但是能夠讓您定義每個資料錄的自由格式配置。FormView 控制項就像是單一資料錄的 DataList 控制項。如需詳細資訊,請參閱 FormView Web 伺服器控制項概觀。
GridView
將資料顯示在表格中,並且在不需要程式碼的情況下支援編輯、更新、刪除、排序和分頁資料。注意事項: 如需詳細資訊,請參閱 GridView Web 伺服器控制項概觀。
ListView
可讓您使用範本定義資料配置。支援自動排序、編輯、插入和刪除作業。您也可以使用關聯的 DataPager 控制項啟用分頁。如需詳細資訊,請參閱 ListView Web 伺服器控制項概觀。
Menu
將資料呈現在包含子功能表的階層式動態功能表中。如需詳細資訊,請參閱功能表控制項概觀。
Repeater
將資料呈現在清單中。會使用您定義的項目範本呈現每個項目。如需詳細資訊,請參閱 Repeater Web 伺服器控制項概觀。
TreeView
將資料呈現在可展開節點的階層式樹狀結構中。如需詳細資訊,請參閱TreeView Web 伺服器控制項概觀。
注意事項: |
---|
ASP.NET 1.0 版和 1.1 版中的 DataGrid 控制項已由 GridView 控制項取代,這個控制項包含排序、分頁和修改資料的進一步功能。使用 DataGrid 控制項的現有網頁將照樣運作。如同其他資料控制項一樣,DataGrid 控制項已經過增強,能與資料來源控制項互動。 |
注意事項: |
---|
ListView 控制項會取代 Repeater 控制項和 DataList 控制項。使用這些控制項的現有網頁將繼續運作。ListView 控制項可簡化許多常見案例的實作方式。 |
如需詳細資訊,請參閱 ASP.NET 資料繫結 Web 伺服器控制項概觀。
LINQ
Language-Integrated Query (LINQ) 提供統一的程式撰寫模型,供查詢及更新來自不同資料來源類型的資料,並將資料功能直接延伸到 C# 及 Visual Basic 語言。LINQ 把物件導向程式設計準則套用到關聯式資料。若要使用 LINQ,請使用 LinqDataSource 控制項。為了存取來自 Web 網頁的資料,您也可以直接建立 LINQ 查詢。如需詳細資訊,請參閱搭配 ASP.NET 使用 LINQ。
動態資料
ASP.NET 動態資料是一種架構,可以加速您建立資料驅動型 ASP.NET Web 應用程式的時程。Dynamic Data 會在執行階段自動探索資料模型,並藉此判斷資料模型中的 UI 行為。Scaffolding 架構可立即提供正常運作的網站,讓您顯示與編輯資料。接著您就可以使用中繼資料、範本,或藉由建立標準的 ASP.NET 頁面來覆寫預設行為,自訂這個 Scaffolding。此外,現有的 ASP.NET Web 應用程式也可以輕鬆地將部分 Scaffolding 邏輯與其現有的網頁整合。如需「動態資料」的詳細資訊,請參閱使用 ASP.NET 動態資料。