SqlDataSource和ObjectDataSource控件都是平面表格式的数据源控件操作也相对简单在这里我就不细说了
在这里我主要谈下用于连接XML文件的XmlDataSource和用于连接站点导航数据的SiteMapDataSource这两个层次数据源控件中XmlDataSource数据绑定到平面表格控件的一起东东
XmlDataSource控件允许其它控件绑定到XML数据XmlDataSource支持DataFile属性它被用于指定作为输入(input)的XML数据文件的路径你还可以指定TranformFile属性给数据应用XSLT转换;设置XPath属性来指定需要暴露的数据源节点的子集
TransformFile=~transXml XPath=//User>
表格式数据绑定控件绑定到分层数据源也是可行的但是它只能显示第一层数据在下面的demo中Repeater控件绑定到 tempxml文件由于数据源暴露的顶层节点是节点Repeater可以在自己的ItemTemplate模板中使用Eval数据绑定语法绑定到这些节点的属性
标题姓名: Email:
除了Eval数据绑定语法之外ASPNET 还提供了基于XPath的数据绑定语法在实现了IXPathNavigable接口的任何数据项上都可以使用它这里介绍两种常用的表达式类型
◆XPath(expression [formatString]) 根据数据项计算Xpath表达式的值返回单个值
◆XPathSelect(expression [formatString]) 根据数据项计算Xpath表达式的值返回节点列表
下面我们来看看使用Xpath数据绑定方法的优势通过一个demo来说明
Repeater的ItemTemplate模板另外增加了一个Repeater并把这个内部Repeater的属性绑定到一个描述当前User节点的Reply子节点的XPathSelect表达式在内部Repeater的ItemTemplate模板中
Xpath数据绑定表达式根据这些Reply内容节点来计算值ASPNET 利用这种技术使你能够通过组合表格式数据绑定控件简便地构造出丰富的分层的数据显示方式
标题ID: 姓名: Email: Content: 留言ReplyID: Time: Content: