asp.net 2.0教程 資料來源控制項2

來源:互聯網
上載者:User

尊重作者,請保留 www.it55.com 連結字樣。

上一節我們講述了SqlDataSource和AccessDataSource這兩個.net資料來源控制項中的重要成員,本節我們接著講述.net資料來源控制項中的XmlDataSource控制項、SiteMapDataSource控制項和ObjectDataSource控制項。

1、XmlDataSource控制項
XmlDataSource控制項是針對層次化資料來源中的xml而設計的。層次化資料來源還包擴資料夾清單、網站地圖等。
建立方法:將vs2005左側“資料”選項欄中的XmlDataSource控制項拖放至.aspx頁面的設計介面中。利用“XmlDataSource任務”設定框中的“配置資料來源”菜單,我們可以對XmlDataSource控制項的資料來源進行設定:



Xml路徑用來給XmlDataSource控制項的DataFile屬性賦值;轉換檔路徑賦值給TransformFile屬性;XPath賦值給XPath屬性。

什麼是Xml?
簡單的說,http://www.itgao.com/rssFeed.aspx的代碼就是xml內容(只是副檔名由.xml改成了.aspx而已)。
關於Xml的資訊請查閱:http://www.itgao.com/html/2007-05/45447.html

什麼是轉換檔?
XSL檔案本身也是XML格式檔案,其內容指明了如何轉換XML資料。其中的foreach, 明顯帶有程式迴圈的意味。,也跟使用CSS一樣,XML檔案中只在第二行加了一行<?xml-stylesheet type="text/xsl" href="../../simple.xsl" ?>
更多相關資訊:http://www.itgao.com/search.aspx?keyword=XSLT%C7%E1%CB%C9%C8%EB%C3%C5&where=title

什麼是XPath?
XPath是一種查詢語言,用於檢索Xml文檔節點中包含的資訊。本例因為http://www.itgao.com/rssFeed.aspx中的資料存放於rss/channel/item節點中,所以我們將XPath賦值為“rss/channel/item”。
關於XPath的資訊請查閱:http://www.itgao.com/html/2007-04/17096.html

XmlDataSource控制項的屬性本身就很少,所以配置起來比較簡單。

2、SiteMapDataSource控制項
看到這個名字大家肯定很眼熟吧?我們在前面學習網站導航控制項(http://www.itgao.com/html/2007-05/45404.html)時不只一次的用到過,所以它的使用方法不再累述。這裡我們只說說它的應用範圍和注意事項:
SiteMapDataSource控制項是Asp.Net 2.0中專門用於串連和訪問網站地圖檔(*.sitmap)的資料來源控制項。並可以將訪問到的資料直接應用到網站導航控制項中,當然,還有其它控制項。
下面是它的幾個常用屬性:
ShowStartingNode: bool值,用於配置SiteMapDataSource控制項是否顯示節點樹中的根節點。
StartingNodeUrl: 該屬性設定SiteMapDataSource控制項應該從節點樹的哪個節點開始。
StartFromCurrentNode: bool值,用於設定是否從當前頁面所在的節點位置開始讀取該節點及其子節點的資料。
StartingNodeOffset: 整數,用於設定起始節點的位移量。預設值為0。如果設定為-1,則從父級節點開始讀取資料;如果為1,則從子節點開始讀取資料。依次類推。
SiteMapDataSource控制項不具有多數資料來源控制項所支援的資料緩衝、排序、過濾、分頁、添加、刪除和修改等能力。

3、ObjectDataSource控制項
有人說ObjectDataSource控制項是為程式的N層構架而生了,比喻相當生動,當然也不無道理。以下是關於N層構架的文章,建議朋友們有時間多讀讀:
解讀三層構架:http://www.itgao.com/html/2007-05/45448.html
N層系統架構設計應考慮的幾個方面:http://www.itgao.com/html/2007-05/45449.html
圖:三層構架

ObjectDataSource控制項與其它資料來源控制項不同的是,該控制項能夠協助開發人員在展示層與資料訪問層、展示層與商務邏輯層之間架起一座橋樑,從而將來自資料訪問層或者商務邏輯層的資料對象,與展示層中的資料繫結控制項綁定,實現資料的顯示和編輯等。
ObjectDataSource控制項建立方法還是從vs2005左側“資料”選項欄中,將的ObjectDataSource控制項拖放至.aspx頁面的設計介面中即可。這時候我們會發現ObjectDataSource控制項與SqlDataSource控制項在屬性方面有很多不同。ObjectDataSource控制項不存在ConnectionString、ProviderName、SelectCommand等屬性,替而代之,出現了TypeName、SelectMethod等屬性。這些新的屬性將用來指示ObjectDataSource控制項執行個體使用哪個業務類以及哪種方法來檢索或編輯資料。而這些業務類和方法來自於資料訪問層或商務邏輯層。
先來看看ObjectDataSource控制項的聲明代碼吧:
<asp:ObjectDataSource ID="ObjectDataSource1" runat="server" TypeName="ComponentClassName" SelectMethod="GetRecords"></asp:ObjectDataSource>
代碼中,TypeName屬性用於設定相關業務類的名稱;SelectMethod屬性用於設定該業務類中實現檢索資料來源資料的方法名稱。該業務類的方法必須返回一個可枚舉的列表對象,如:集合、數組、DataSet、DataReader等,或者返回包含資料的業務實體物件。
除此之外,ObjectDataSource控制項還有InsertMethod、UpdateMethod、DeleteMethod等屬性,屬性值仍然是該業務類中的方法名稱。

ObjectDataSource控制項是asp.net 2.0的精華部分,但也是比較複雜的一部分。它的屬性眾多,事件、方法也有一大堆,這裡不想照本宣科了,大家多看看msdn就知道了。#p#分網頁標題#e#
ObjectDataSource控制項具體的使用方法我們以後的教程中會多次接觸的,所以這裡只講述他的運行機理和部分屬性,不再多說,相關執行個體請參考:http://www.itgao.com/html/2007-05/45455.html

至此我們完成了asp.net資料來源控制項的初步接觸,熟悉了它們的建立方法和部分屬性。至於它們在程式中是如何藉助資料繫結控制項發揮作用的,請看下一節:Asp.Net 2.0 資料繫結控制項

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.