ASP.NET - 将表格控件绑定到 XmlDataSource 控件
2009-12-15 09:17
387 查看
XmlDataSource 控件主要用于将分层的 XML 数据公开给诸如 TreeView 或 Menu 控件等绑定控件。还可以将 GridView 或 DataList 控件等表格数据绑定控件绑定到 XmlDataSource 控件。
一、绑定到 XML 数据中的字段
在将表格数据绑定控件绑定到 XmlDataSource 控件时,该控件仅呈现 XML 层次结构的第一级。XmlDataSource 控件将第一级节点的属性公开为数据表中的等效列。因此,您可以将第一级节点中的属性名称指定为 BoundField 对象的 DataField 的名称。也可以在控件模板的 Eval 数据绑定表达式中指定属性名称。
二、使用 XPath 方法绑定到 XML 层次结构
使用表格控件,可以通过 Eval 或 Bind 方法将模板中的控件绑定到数据。如果要将表格控件绑定到 XmlDataSource 控件,还可以使用 XPath 方法,从而能够为只读数据绑定指定 XPath 查询。
XPath 数据绑定方法导航 XML 层次结构,并从位于该层次结构任意处的节点或属性中返回值。使用 XPath 数据绑定方法时,需传递一个 XPath 查询和一个可选的参数来指定返回字符串的格式。字符串格式参数使用为 String 类的 Format 方法定义的语法。
下面的代码示例演示绑定到 XmlDataSource 控件的 DataList 控件。模板中的数据绑定表达式使用 XPath 方法从 XML 数据中返回值。
<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html >
<head runat="server">
<title>ASP.NET Example</title>
</head>
<body>
<form id="form1" runat="server">
<asp:XmlDataSource
id="PeopleDataSource"
runat="server"
XPath="/People/Person"
DataFile="~/App_Data/people.xml" />
<asp:DataList
id="PeopleDataList"
DataSourceID="PeopleDataSource"
Runat="server">
<ItemTemplate>
<table cellpadding="4" cellspacing="4">
<tr>
<td style="vertical-align:top; width:120">
<asp:Label id="LastNameLabel" Text='<%# XPath("Name/LastName")%>' runat="server" />,
<asp:Label id="FirstNameLabel" Text='<%# XPath("Name/FirstName")%>' runat="server" />
</td>
<td valign="top">
<asp:Label id="StreetLabel" Text='<%# XPath("Address/Street") %>' runat="server" /><br />
<asp:Label id="CityLabel" Text='<%# XPath("Address/City") %>' runat="server" />,
<asp:Label id="RegionLabel" Text='<%# XPath("Address/Region") %>' runat="server" />
<asp:Label id="ZipCodeLabel" Text='<%# XPath("Address/ZipCode") %>' runat="server" />
</td>
</tr>
</table>
</ItemTemplate>
</asp:DataList>
</form>
</body>
</html>
三、使用 XPathSelect 返回所选节点
可以将项模板中的嵌套表格数据控件绑定到从 XmlDataSource 控件提供的数据中选择的节点列表。为此,可以使用 XPathSelect 方法。XPathSelect 方法返回与 XPath 表达式匹配的节点列表,表格数据控件可以像使用数据记录集合那样使用该列表。下面的示例演示如何将 XPathSelect 方法与嵌套的 DataList 控件一起使用,以显示 XML 层次结构中的 Order_Details 节点。
<asp:XmlDataSource
id="OrdersDataSource"
runat="server"
DataFile="~/App_Data/orders.xml" />
<asp:DataList
id="OrdersDataList"
DataSourceID="OrdersDataSource"
Runat="server">
<ItemTemplate>
Order ID: <asp:Label id="OrderIDLabel" runat="server"
Text='<%# XPath("OrderID") %> /><BR>
<asp:DataList id="ProductsDataList" runat="server"
DataSource='<%# XPathSelect("Order_Details") %>' >
<ItemTemplate>
<br>Product ID:<%# XPath("ProductID")%>
<br>Quantity: <%# XPath("Quantity") %>
</ItemTemplate>
</asp:DataList>
</ItemTemplate>
</asp:DataList>
一、绑定到 XML 数据中的字段
在将表格数据绑定控件绑定到 XmlDataSource 控件时,该控件仅呈现 XML 层次结构的第一级。XmlDataSource 控件将第一级节点的属性公开为数据表中的等效列。因此,您可以将第一级节点中的属性名称指定为 BoundField 对象的 DataField 的名称。也可以在控件模板的 Eval 数据绑定表达式中指定属性名称。
二、使用 XPath 方法绑定到 XML 层次结构
使用表格控件,可以通过 Eval 或 Bind 方法将模板中的控件绑定到数据。如果要将表格控件绑定到 XmlDataSource 控件,还可以使用 XPath 方法,从而能够为只读数据绑定指定 XPath 查询。
XPath 数据绑定方法导航 XML 层次结构,并从位于该层次结构任意处的节点或属性中返回值。使用 XPath 数据绑定方法时,需传递一个 XPath 查询和一个可选的参数来指定返回字符串的格式。字符串格式参数使用为 String 类的 Format 方法定义的语法。
下面的代码示例演示绑定到 XmlDataSource 控件的 DataList 控件。模板中的数据绑定表达式使用 XPath 方法从 XML 数据中返回值。
<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html >
<head runat="server">
<title>ASP.NET Example</title>
</head>
<body>
<form id="form1" runat="server">
<asp:XmlDataSource
id="PeopleDataSource"
runat="server"
XPath="/People/Person"
DataFile="~/App_Data/people.xml" />
<asp:DataList
id="PeopleDataList"
DataSourceID="PeopleDataSource"
Runat="server">
<ItemTemplate>
<table cellpadding="4" cellspacing="4">
<tr>
<td style="vertical-align:top; width:120">
<asp:Label id="LastNameLabel" Text='<%# XPath("Name/LastName")%>' runat="server" />,
<asp:Label id="FirstNameLabel" Text='<%# XPath("Name/FirstName")%>' runat="server" />
</td>
<td valign="top">
<asp:Label id="StreetLabel" Text='<%# XPath("Address/Street") %>' runat="server" /><br />
<asp:Label id="CityLabel" Text='<%# XPath("Address/City") %>' runat="server" />,
<asp:Label id="RegionLabel" Text='<%# XPath("Address/Region") %>' runat="server" />
<asp:Label id="ZipCodeLabel" Text='<%# XPath("Address/ZipCode") %>' runat="server" />
</td>
</tr>
</table>
</ItemTemplate>
</asp:DataList>
</form>
</body>
</html>
三、使用 XPathSelect 返回所选节点
可以将项模板中的嵌套表格数据控件绑定到从 XmlDataSource 控件提供的数据中选择的节点列表。为此,可以使用 XPathSelect 方法。XPathSelect 方法返回与 XPath 表达式匹配的节点列表,表格数据控件可以像使用数据记录集合那样使用该列表。下面的示例演示如何将 XPathSelect 方法与嵌套的 DataList 控件一起使用,以显示 XML 层次结构中的 Order_Details 节点。
<asp:XmlDataSource
id="OrdersDataSource"
runat="server"
DataFile="~/App_Data/orders.xml" />
<asp:DataList
id="OrdersDataList"
DataSourceID="OrdersDataSource"
Runat="server">
<ItemTemplate>
Order ID: <asp:Label id="OrderIDLabel" runat="server"
Text='<%# XPath("OrderID") %> /><BR>
<asp:DataList id="ProductsDataList" runat="server"
DataSource='<%# XPathSelect("Order_Details") %>' >
<ItemTemplate>
<br>Product ID:<%# XPath("ProductID")%>
<br>Quantity: <%# XPath("Quantity") %>
</ItemTemplate>
</asp:DataList>
</ItemTemplate>
</asp:DataList>
相关文章推荐
- asp.net学习之 数据绑定控件--表格绑定控件
- asp.net学习之 数据绑定控件--表格绑定控件
- asp.net学习之 数据绑定控件--表格绑定控件
- asp.net学习之 数据绑定控件--表格绑定控件+asp.net学习GridView
- asp.net学习之 数据绑定控件--表格绑定控件
- ASP.NET中递归绑定DDL下拉控件
- ASP.NET(2):在Init方法中进行控件数据源的绑定
- asp.net数据绑定控件
- ASP.NET常用数据绑定控件优劣总结
- asp.net数据控件 数据绑定控件比较
- Asp.net控件绑定后台的方法
- ASP.NET中DropDownList控件的简单使用--DDL绑定数据库表中值,选择DDL中值直接检索数据
- JQuery FlexiGrid的asp.net完美解决方案 dotNetFlexGrid-.Net原生的异步表格控件
- JQuery FlexiGrid的asp.net完美解决方案 dotNetFlexGrid-.Net原生的异步表格控件
- ASP.NET数据绑定GridView控件使用技巧
- 【ASP.NET】——数据绑定和数据控件
- asp.net动态生成表格和控件
- asp.net程序控件显示不正常,HTML编辑器无法显示,表格等页面元素也有异常现象
- asp.net控件开发基础(17) --------初识数据绑定控件
- asp.net学习之 数据绑定控件--List数据绑定控件