資源描述:
《四使用ObjectDataSource展現(xiàn)數(shù)據(jù).docx》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、在ASP.NET2.0中操作數(shù)據(jù)之四:使用ObjectDataSource展現(xiàn)數(shù)據(jù)作者:heker2007字體:[增加?減小]類型:轉(zhuǎn)載時間:2016-04-29?我要評論前面介紹搭建基礎(chǔ)的架構(gòu),下面我們來介紹ASP.NET中,如何利用ObjectDataSource來展現(xiàn)數(shù)據(jù)。通過配置ObjectDataSource,我們指定這些底層的對象,還有這些對象的方法如何映射到ObjectDataSource的Select、Insert、Update和Delete方法。 在完成了應(yīng)用程序架構(gòu)和頁面的設(shè)計后,我們可以開始探討如何實現(xiàn)
2、多種多樣的普通數(shù)據(jù)到報表展現(xiàn)的任務(wù)。前面我們已經(jīng)了解到如何在從數(shù)據(jù)訪問層和業(yè)務(wù)邏輯層綁定數(shù)據(jù)到ASP.NET頁面上的數(shù)據(jù)控件。在ASP.NET1.x應(yīng)用程序中,通過對數(shù)據(jù)控件的DataSource屬性賦值然后調(diào)用控件的DataBind()方法從而實現(xiàn)數(shù)據(jù)展現(xiàn)的方式在ASP.NET2.0應(yīng)用程序中可以繼續(xù)使用。然而,ASP.NET2.0的數(shù)據(jù)源控件提供了一種新的方式,使用這些控件可以讓你輕松從上文中創(chuàng)建的業(yè)務(wù)邏輯層中進行數(shù)據(jù)綁定,甚至不需要手寫一行的代碼?! SP.NET2.0提供了五種內(nèi)置的數(shù)據(jù)源控件:SqlDataSour
3、ce、AccessDataSource,、ObjectDataSource、XmlDataSource、和SiteMapDataSource,盡管如果有需要的話你還可以構(gòu)建自己的自定義數(shù)據(jù)源控件(customdatasourcecontrols)。既然我們在前文中已經(jīng)完成了應(yīng)用程序示例的系統(tǒng)架構(gòu),基于已有的業(yè)務(wù)邏輯類我們將使用ObjectDataSource。圖1:ASP.NET2.0包括五種內(nèi)置的數(shù)據(jù)源控件 ObjectDataSource充當(dāng)別的對象的代理。通過配置ObjectDataSource,我們指定這些底層的對象
4、,還有這些對象的方法如何映射到ObjectDataSource的Select、Insert、Update和Delete方法。一旦底層的對象被指定并且其方法映射到ObjectDataSource的方法后,我們就可以把ObjectDataSource綁定到頁面上的DataWeb服務(wù)器控件。ASP.NET提供了許多DataWeb服務(wù)器控件,包括GridView、DetailsView、RadioButtonList和DropDownList等等。在頁面的生命周期中,DataWeb服務(wù)器控件可能需要訪問它所綁定的數(shù)據(jù),這將通過調(diào)用Ob
5、jectDataSource的Select方法來實現(xiàn);如果這個DataWeb服務(wù)器控件還支持插入、更新或者刪除,那么將調(diào)用ObjectDataSource的Insert、Update或者Delete方法。這些調(diào)用會通過ObjectDataSource被發(fā)送到適當(dāng)?shù)牡讓訉ο蟮姆椒?,如下圖所示。圖2:ObjectDataSource充當(dāng)一個代理 雖然ObjectDataSource被用來實現(xiàn)插入、更新或者刪除數(shù)據(jù),但暫時我們只集中討論返回數(shù)據(jù),以后的章節(jié)再探討使用ObjectDataSource和DataWeb服務(wù)器控件實現(xiàn)數(shù)據(jù)
6、修改。第一步:添加和配置ObjectDataSource控件 首先,打開BasicReporting文件夾中的SimpleDisplay.aspx頁面,切換到設(shè)計視圖,從工具箱拖拽一個ObjectDataSource控件到頁面。它在設(shè)計界面顯示為一個灰色的方塊,這是因為它不產(chǎn)生任何的聲明標記;它僅僅是通過調(diào)用制定的對象的方法存取數(shù)據(jù)。通過ObjectDataSource返回的數(shù)據(jù)可以展現(xiàn)到DataWeb服務(wù)器控件,例如GridView、DetailsView、FormView等等?! ∽⒁猓鹤鳛榱硪环N選擇,你也可以先在頁面上
7、添加一個DataWeb服務(wù)器控件,然后“顯示智能標記”,從“選擇數(shù)據(jù)源”下拉框中選擇〈新建數(shù)據(jù)源…〉進入數(shù)據(jù)源配置向?qū)硖砑右粋€ObjectDataSource。 為了指定ObjectDataSource的底層對象并且把該對象的方法映射到ObjectDataSource的的方法,可以點擊ObjectDataSource的智能標記中的“配置數(shù)據(jù)源”鏈接進入數(shù)據(jù)源配置向?qū)АD3:點擊智能標記中的“配置數(shù)據(jù)源”鏈接 這將進入數(shù)據(jù)源配置向?qū)?。首先,我們需要給ObjectDataSource指定一個業(yè)務(wù)對象。如果勾選上“只顯示數(shù)據(jù)組
8、件”,那么下拉框中就僅僅顯示出那些以[DataObject]特征修飾過的對象。當(dāng)前這個列表中應(yīng)該包含了類型化數(shù)據(jù)集中表適配器對象(TableAdapters)和前文中我們已經(jīng)創(chuàng)建的業(yè)務(wù)對象。如果你忘了給業(yè)務(wù)邏輯類增加[DataObject]特征,那么當(dāng)前列表中講看不到它們。如