成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

ASP.NET的XML數據

開發 后端
本文介紹ASP.NET的XML數據,以及將數據源控件綁定到XML數據的方法有兩種:使用任意XML文檔和使用DataSet對象的XML表示形式。

將數據源控件綁定到XML數據的方法有兩種:使用任意XML文檔和使用DataSet對象的XML表示形式。在前一種情況下,您可以使用分層的數據源控件 (XmlDataSource);而在后一種情況下,您可以使用表格式數據源組件(DataSetDataSource)??梢酝ㄟ^URL (DataFile屬性)或字符串(Data屬性)來指定XML數據??梢允褂肧chemaFile或Schema屬性以相同的方式來提供架構信息。

XmlDataSource控件可以綁定到表格式和分層式數據綁定控件。XML數據的表格式視圖只是處于層次結構給定級別的一系列節點,而分層式視圖則顯示了完整的層次結構,但需要一個多級控件,如TreeView、Menu或其他任何繼承了HierarchicalDataBoundControl類的控件。

相反,DataSetDataSource類只能綁定到GridView和其他列表控件。您不能用DataSet類的活動實例來填充DataSetDataSource。但是,在您成功初始化該控件之后,就可以使用GetDataSet方法檢索內部的DataSet對象。
內幕初探

數據源控件繼承了基類Control,并且具有兩種形式:表格式和分層式。DataSourceControl抽象類充當所有數據源控件的基類,并且定義了數據綁定控件和基礎數據之間的接口。盡管數據源控件不具有可視化表現形式,但仍然將其實現為控件,以便使“聲明性持久性”(在請求處理過程中自動實例化)成為.aspx源代碼的原生部分,并且獲得對頁面視圖狀態的訪問權限。

數據源控件通過一組屬性和方法來公開它的基礎數據源的內容。這些成員中的一部分是特定于該控件的,而其他成員則為所有源控件所共有,并且被定義為 IDataSource接口的一部分。所有數據源控件都實現了IDataSource接口,并且使用該接口的屬性和方法來將綁定的內容公開為一組命名的視圖。

IDataSource接口很簡單,它只包含一個事件(DataSourceChanged)和幾個方法(GetView和GetViewNames)。當綁定的數據源更改時(例如,當您更改連接字符串時),將引發DataSourceChanged事件。GetView獲得要檢索的數據源視圖的名稱,并且將其作為DataSourceView對象返回。GetViewNames返回表示與該控件關聯的視圖對象列表的名稱集合。因此,數據源控件的內部體系結構好像一個命名的視圖集合。

命名的視圖用DataSourceView類的實例表示,后者類似于ADO.NET DataView類。DataSourceView表示已經在其中定義了排序、篩選和其他數據操作特殊設置的數據的自定義視圖。在其核心,數據源控件可以簡單地管理從基礎數據源加載的數據的視圖。

DataSourceView類是與數據源控件相關聯的所有視圖的基類。數據源控件中的視圖數量取決于連接字符串、特征以及基礎數據源的實際內容。

CanDelete Boolean 屬性。指示是否允許對基礎數據源進行刪除操作。通過調用 Delete 方法進行刪除。
CanInsert Boolean 屬性。指示是否允許對基礎數據源進行插入操作。通過調用 Insert 方法進行插入。
CanPage Boolean 屬性。指示基礎數據源是否支持分頁。
CanRetrieveTotalRowCount Boolean 屬性。指示基礎數據源是否能夠檢索數據行(而不是數據)的總數。
CanSort Boolean 屬性。指示是否能夠存儲視圖中的數據。
CanUpdate Boolean 屬性。指示是否允許對基礎數據源進行更新操作。通過調用 Update 方法進行更新。
Name 字符串屬性。返回當前視圖名。
SortExpression 字符串屬性。獲取并設置用于創建基礎數據排序視圖的排序表達式。
Delete 方法,執行與視圖相關數據的刪除操作。
Insert 方法,執行與視圖相關數據的插入操作。
Select 方法,返回一個枚舉對象(以基礎數據源存儲中包含的數據進行填充)。
Update 方法,執行與視圖相關數據的更新操作。
簡化的數據綁定語法

無可否認,數據綁定方面的重大更改就是引入了數據源控件。那么,對于以前支持的數據綁定表達式而言,會發生什么情況呢?該功能在ASP.NET 2.0中保持不變,但所使用的語法已經進行了簡化,不像原來在ASP.NET版本1.x中那樣繁瑣了。

在ASP.NET 1.x中,您通常使用靜態方法DataBinder.Eval將數據存儲區字段晚期綁定到對象屬性,如下面的示例所示:

  1. <%# DataBinder.Eval(Container.DataItem, fieldName, formatString) %> 

Container.DataItem表達式引用在其上計算該表達式的對象。該表達式通常是一個字符串,該字符串具有要在數據項對象上訪問的字段的名稱。通常,該表達式可以包含索引和屬性名稱。這些常用代碼可能頻繁地在頁面的同一表單中重復使用。只有表達式和格式字符串各不相同。ASP.NET 2.0支持經過簡化的語法,如下面的代碼片段所示:

  1. <%# Eval(fieldName, formatString) %> 

當頁面被編譯以供使用時,會將Eval調用作為一個獨立調用插入該頁面的源代碼中。下面的代碼可以使您了解實際發生的事情:

  1. object o = Eval(fieldName); string result = Convert.ToString(o); 

該調用的結果被轉換為字符串并分配給一個數據綁定文本控件(它是DataBoundLiteralControl類的實例)。最后,將數據綁定文本插入該頁面的控件樹中。在ASP.NET 2.0中,Page類新增了一個名為Eval的受保護方法,該方法可確定當前的數據項對象,并調入原來的DataBinder.Eval靜態方法。

除了DataBinder類,ASP.NET 2.0還提供了一個對象,該對象能夠綁定到針對實現IXPathNavigable接口的對象而執行的XPath表達式的結果。該類為 XPathBinder,并且與DataBinder起到相同的作用,不同之處在于它在XML數據上工作:

< %# XPath("Orders/Order/Customer/LastName") %>

與Eval一樣,該表達式中的XPath關鍵字是Page類上的一個新的受保護方法。它可以調入靜態方法XPathBinder.Eval。在內部,XPathBinder.Eval從數據源中獲取一個導航器對象,并且計算指定的表達式。

XPathBinder類還具有一個Select方法。該方法可以執行XPath查詢,并檢索節點集(XML節點的可枚舉集合)。該集合可以作為晚期綁定值分配給像Repeater控件這樣的數據綁定控件。對于該方案,也存在等效的簡化語法:

  1. <asp:Repeater 
  2. runat="server" 
  3. DataSource='<%# XPathSelect("orders/order/summary") %>' 
  4. > 
  5. ...  
  6. </asp:Repeater> 

XpathSelect是您在數據綁定表達式中使用的關鍵字,用于指示在容器對象上執行的XPath查詢的結果。如果該容器對象未實現IXPathNavigable,則會引發異常。

【編輯推薦】

  1. ASP.NET的DataList和Repeater控件
  2. 淺析ASP.NET的IIS映射
  3. 概述ASP.NET狀態類型
  4. 淺談ASP.NET和Web服務器
  5. ASP.NET的EnableViewState屬性
責任編輯:佚名 來源: IT168
相關推薦

2009-07-23 14:08:58

2009-07-27 14:46:16

XML和ASP.NET

2009-07-23 15:11:43

XML Web服務方法ASP.NET

2009-07-28 16:29:06

XML Web服務ASP.NET構造

2009-07-28 17:34:28

ASP.NET XML

2009-07-23 15:18:30

創建XML Web服務ASP.NET

2012-04-28 11:07:15

2009-08-03 14:22:33

什么是ASP.NET

2009-07-28 17:17:19

ASP.NET概述

2009-07-22 17:45:35

ASP.NET教程

2009-07-28 17:28:49

XML Web服務使用ASP.NET

2009-09-04 13:11:25

ASP.NET生成XM

2009-07-20 17:12:17

ASP.NET訪問數據

2009-07-27 12:22:03

ASP.NET和ASPASP.NET入門教程

2009-07-27 15:48:43

2009-07-29 11:19:03

JavaScriptASP.NET

2009-07-29 16:33:28

GreeterLogiASP.NET

2009-07-27 10:35:33

TypeConvertASP.NET

2009-07-29 14:52:12

IScriptContASP.NET

2009-08-04 10:02:36

中國站長站
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲国产成人在线观看 | 国产成人免费网站 | 手机av网 | 国产精品久久久久久久久久久免费看 | 在线观看视频91 | 成人特级毛片 | 国产精品国产a级 | 久久久久国产精品一区二区 | 涩涩视频网 | 国产精品国产三级国产aⅴ中文 | 岛国在线免费观看 | 亚洲精品日韩综合观看成人91 | 国产精品一区二区免费看 | 欧美日韩精品久久久免费观看 | 91观看 | 欧美一级一区 | 亚洲精品福利在线 | 国产午夜精品一区二区三区四区 | 国产剧情久久 | av中文字幕在线 | 日韩欧美一区二区三区免费观看 | 国产精品三级久久久久久电影 | www.日日操| 黄色片网站在线观看 | 日本在线视频一区二区 | 亚洲精品福利视频 | 欧美视频二区 | av免费网站在线观看 | 九九在线| 99re国产视频 | 精品欧美在线观看 | 欧美性视频在线播放 | 欧美国产视频 | 亚洲高清网 | 国产7777 | 中文字幕亚洲精品 | 国产综合视频 | 国产精品久久久久久久久 | 密乳av| 日韩有码一区二区三区 | 黑人粗黑大躁护士 |