ASP.NET 2.0數(shù)據(jù)教程:添加和配置ObjectDataSource控件
首先,打開BasicReporting文件夾中的SimpleDisplay.aspx頁面,切換到設計視圖,從工具箱拖拽一個ObjectDataSource控件到頁面。它在設計界面顯示為一個灰色的方塊,這是因為它不產生任何的聲明標記;它僅僅是通過調用制定的對象的方法存取數(shù)據(jù)。通過ObjectDataSource返回的數(shù)據(jù)可以展現(xiàn)到Data Web 服務器控件,例如GridView、DetailsView、FormView等等。
注意:作為另一種選擇,你也可以先在頁面上添加一個Data Web 服務器控件,然后“顯示智能標記”,從“選擇數(shù)據(jù)源”下拉框中選擇〈新建數(shù)據(jù)源…〉進入數(shù)據(jù)源配置向導來添加一個ObjectDataSource。
為了指定ObjectDataSource的底層對象并且把該對象的方法映射到ObjectDataSource的的方法,可以點擊ObjectDataSource的智能標記中的“配置數(shù)據(jù)源”鏈接進入數(shù)據(jù)源配置向導。
圖3: 點擊智能標記中的“配置數(shù)據(jù)源”鏈接
這將進入數(shù)據(jù)源配置向導。首先,我們需要給ObjectDataSource指定一個業(yè)務對象。如果勾選上“只顯示數(shù)據(jù)組件”,那么下拉框中就僅僅顯示出那些以[DataObject]特征修飾過的對象。當前這個列表中應該包含了類型化數(shù)據(jù)集中表適配器對象(TableAdapters)和前文中我們已經創(chuàng)建的業(yè)務對象。如果你忘了給業(yè)務邏輯類增加[DataObject]特征,那么當前列表中講看不到它們。如果是那樣的話,你也可以不勾選“只顯示數(shù)據(jù)組件”從而看見所有對象,這就可以把業(yè)務對象包含進來(連同類型化數(shù)據(jù)集中的其他類 –DataTables、 DataRows等等)
在***屏中從下拉列表中選擇業(yè)務對象ProductsBLL ,然后點擊“下一步”。
圖4: 指定ObjectDataSource 控件使用的業(yè)務對象
在下一屏中向導中你可以選擇ObjectDataSource要調用的方法。下拉列表中方法是從上一屏中選定的業(yè)務對象獲得的。這里我們可以看到GetProductsByProductID,GetProducts,GetProductsByCategoryID和GetProductsBySupplierID這幾個方法。從下拉列表中選擇方法GetProducts然后點擊“完成”(如果你已經像前文展示那樣給ProductBLL的方法增加了[DataObjectMethod]特征,那么該項會被默認選中)。
圖5: 從“Select”Tab頁選擇返回數(shù)據(jù)的方法
手工配置ObjectDataSource
ObjectDataSource配置向導提供了一個快捷的方式來指定它使用的對象并關聯(lián)需要調用的方法。不過,你也可以通過它的屬性來配置ObjectDataSource,不管是通過屬性窗口還是直接在聲明標記里。只需簡單地將TypeName屬性設置為使用的業(yè)務對象的名稱,將SelectMethod屬性設置為提取數(shù)據(jù)時需要調用的方法名稱。
- < asp:ObjectDataSource ID="ObjectDataSource1" runat="server"
- SelectMethod="GetProducts"
- TypeName="ProductsBLL">
- < /asp:ObjectDataSource>
盡管你可能更喜歡數(shù)據(jù)源配置向導,但有時你還是需要手工配置ObjectDataSource,因為配置向導只列出已經開發(fā)的類。如果你希望把ObjectDataSource綁定到.NET Framework里的類–例如 Membership class來存取登陸用戶信息,或者Directory class 來管理文件系統(tǒng)信息,那么你就需要手工設置ObjectDataSource的屬性。
【編輯推薦】
- ASP.NET 2.0數(shù)據(jù)教程:插入,更新和刪除數(shù)據(jù)
- ASP.NET 2.0數(shù)據(jù)教程:給數(shù)據(jù)訪問層添加參數(shù)化的方法
- ASP.NET 2.0數(shù)據(jù)教程:創(chuàng)建數(shù)據(jù)訪問層
- ASP.NET 2.0數(shù)據(jù)教程:創(chuàng)建一個Web項目,配置數(shù)據(jù)庫連接
- ASP.NET 2.0數(shù)據(jù)教程:給DataRow添加字段級驗證