ASP.NET - 使用 XmlDataSource 控件筛选数据

可通过将 XmlDataSource 控件的 XPath 属性设置为 XPath 筛选表达式,来筛选该控件公开的 XML 数据。如果已指定可扩展样式表语言 (XSL) 样式表来转换 XmlDataSource 控件公开的数据,则在转换后会应用 XPath 筛选表达式。

下面的代码示例演示绑定到 TreeView 控件的 XmlDataSource 控件。XML 数据是使用 XPath 查询筛选的。

<%@ Page Language="C#" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">

void SelectRegion(object sender, EventArgs e)

{

if (RegionDropDownList.SelectedValue == "(Show All)")

PeopleDataSource.XPath = "/People/Person";

else

{

string selectedValue = "";

switch (RegionDropDownList.SelectedValue)

{

case "CA":

selectedValue = "CA";

break;

case "HI":

selectedValue = "HI";

break;

case "WA":

selectedValue = "WA";

break;

default:

// Invalid value.

break;

}

PeopleDataSource.XPath = "/People/Person[Address/Region='" + selectedValue + "']";

}

PeopleTreeView.DataBind();

}

</script>

<html >

<head runat="server">

<title>ASP.NET Example</title>

</head>

<body>

<form id="form1" runat="server">

<table border="0" cellpadding="3">

<tr>

<td valign="top">

<b>Select Region:</b>

<asp:DropDownList runat="server" id="RegionDropDownList" AutoPostBack="True"

OnSelectedIndexChanged="SelectRegion">

<asp:ListItem Selected="True">(Show All)</asp:ListItem>

<asp:ListItem>CA</asp:ListItem>

<asp:ListItem>HI</asp:ListItem>

<asp:ListItem>WA</asp:ListItem>

</asp:DropDownList>

</td>

<td valign="top">

<asp:XmlDataSource

id="PeopleDataSource"

runat="server"

XPath="/People/Person"

DataFile="~/App_Data/people.xml" />

<asp:TreeView

id="PeopleTreeView"

runat="server"

DataSourceID="PeopleDataSource">

<DataBindings>

<asp:TreeNodeBinding DataMember="LastName" TextField="#InnerText" />

<asp:TreeNodeBinding DataMember="FirstName" TextField="#InnerText" />

<asp:TreeNodeBinding DataMember="Street" TextField="#InnerText" />

<asp:TreeNodeBinding DataMember="City" TextField="#InnerText" />

<asp:TreeNodeBinding DataMember="Region" TextField="#InnerText" />

<asp:TreeNodeBinding DataMember="ZipCode" TextField="#InnerText" />

<asp:TreeNodeBinding DataMember="Title" TextField="#InnerText" />

<asp:TreeNodeBinding DataMember="Description" TextField="#InnerText" />

</DataBindings>

</asp:TreeView>

</td>

</tr>

</table>

</form>

</body>

</html>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值