向書本學(xué)習(xí),還要向?qū)嵺`學(xué)習(xí)、向生活學(xué)習(xí)。消化已有知識,
而且要力求有所發(fā)現(xiàn)、有所發(fā)明、有所創(chuàng)造
2019/3/14 8:48:36
ASP.NET 2.0 引入了一系列可以改善數(shù)據(jù)訪問的新工具,包括幾個數(shù)據(jù)源和數(shù)據(jù)綁定控件。新增種類的數(shù)據(jù)源控件可以消除 ASP.NET 1.x 中要求的大量重復(fù)性代碼。例如,您可以很容易地將 SQL 語句或存儲過程與數(shù)據(jù)源控件相關(guān)聯(lián),并且將它們綁定到數(shù)據(jù)綁定控件。更令人感到印象深刻的是,通過 ObjectDataSource 控件可以簡化開發(fā)和減少代碼,并且仍然可以在 n 層體系結(jié)構(gòu)的不同層中抽象業(yè)務(wù)和數(shù)據(jù)訪問邏輯。
在 .NET 問世以前,用傳統(tǒng)的 ASP 生成數(shù)據(jù)網(wǎng)格通常需要編寫大量的代碼,以便在遍歷 ADO 記錄集的同時即時生成 HTML 表。ASP.NET 1.x 通過允許您將基于 XML 的 DataSet 綁定到 ASP.NET DataGrid 控件,從而使該類型的開發(fā)變得更加容易。這就減少了生成網(wǎng)格所必需的代碼。但是,傳統(tǒng)的 ASP 和 ASP.NET 1.x 都要求代碼實現(xiàn)分頁、排序、編輯和行選擇功能。通過 ASP.NET 2.0 中的改進(jìn)功能,可以顯著減少這些代碼的數(shù)量,以產(chǎn)生帶有完整分頁、排序和編輯功能并填充了數(shù)據(jù)的網(wǎng)格。
在這一期的 Data Points 中,我將首先演示通過 ASP.NET 2.0 并使用 SqlDataSource 和一些新的數(shù)據(jù)綁定控件開發(fā) Web 應(yīng)用程序是多么容易。請注意,我在此使用的是 Beta 1 版本。
大多數(shù)企業(yè)應(yīng)用程序都是在多層體系結(jié)構(gòu)之上生成的,該體系結(jié)構(gòu)有一個用于存放業(yè)務(wù)邏輯的中間層,以及一個使用一個或多個后端數(shù)據(jù)庫的數(shù)據(jù)訪問層。我將討論 ObjectDataSource 可以多么理想地與現(xiàn)有的多層組件集成。通過將 ObjectDataSource 控件鏈接到業(yè)務(wù)對象,您可以充分利用現(xiàn)有的多層體系結(jié)構(gòu)來生成完善的 Web UI,并且能夠顯著減少代碼。 ObjectDataSource 控件還包含一些特殊的屬性,使您可以綁定到 ASP.NET 2.0 和 ADO.NET 2.0 中新近增強的強類型 DataSet 和數(shù)據(jù)組件。 ASP.NET 2.0 中的其他新功能和改進(jìn)包括新增的雙向綁定表達(dá)式、增強的緩存,以及幾個新增的可以數(shù)據(jù)綁定到新的數(shù)據(jù)源控件的 ASP.NET 2.0 控件
數(shù)據(jù)綁定控件
要使用數(shù)據(jù)源控件,必須具有一個用來將它們綁定到的數(shù)據(jù)綁定控件。在 ASP.NET 2.0 中有幾個新的數(shù)據(jù)綁定控件,包括 GridView、DetailsView 和 FormView 控件。如果您喜歡 ASP.NET 1.x DataGrid 控件,那么您也會喜歡 ASP.NET 2.0 GridView 控件。GridView 在本質(zhì)上類似于 DataGrid,因為它可以綁定到新的數(shù)據(jù)源控件,并且可以用來實現(xiàn)排序、編輯和分頁 — 它們需要的代碼都比 DataGrid 少得多(有關(guān) GridView 的詳細(xì)信息,請參閱 Dino Esposito 在 MSDN®Magazine 的 2004 年 8 月刊中發(fā)表的文章)。
要將 GridView 綁定到數(shù)據(jù)源控件,需要將 GridView 的 DataSourceID 屬性設(shè)置為數(shù)據(jù)源控件的 ID。還可以設(shè)置 GridView 的其他幾個屬性來增強外觀和用戶交互(我將在稍后的示例中加以演示):
<asp:GridView ID="gvwOrders" Runat="server"
DataSourceID="sdsOrdersDataSource"
AutoGenerateColumns="True">
其他控件(例如,DropDownList)也可以綁定到數(shù)據(jù)源控件。例如,DropDownList 控件可以綁定到檢索雇員列表的 SqlDataSource 控件。雇員的全名可以顯示在 DropDownList 中,而 EmployeeID 可以作為控件的基礎(chǔ)數(shù)據(jù)值字段綁定到該控件。以下示例定義了一個 DropDownList,它將顯示可供選擇的客戶名稱的列表??蛻魯?shù)據(jù)被綁定到一個名為 sdsCustomerDataSource 的 SqlDataSource 控件,該控件可獲得客戶的 CompanyName 和 CustomerID 字段的列表:
<asp:DropDownList ID="ddlCustomers" Runat="server" AutoPostBack="True"
DataSourceID="sdsCustomersDataSource"
DataTextField="CompanyName"
DataValueField="CustomerID">
</asp:DropDownList>
在 ASP.NET 2.0 中,將控件綁定到數(shù)據(jù)源控件非常簡單,并且不需要任何處于代碼隱藏中的代碼。但是,如果您愿意,仍然可以編寫代碼以顯式綁定到控件。實際上,數(shù)據(jù)綁定控件的數(shù)據(jù)源和 DataMember 屬性與 ASP.NET 1.x 相比已經(jīng)得到了改進(jìn)。
深圳市南山區(qū)南山街道南海大道西桂廟路北陽光華藝大廈1棟4F、4G-04
咨詢電話:136 8237 6272
大客戶咨詢:139 0290 5075
業(yè)務(wù)QQ:195006118
技術(shù)QQ:179981967