asp.net 2.0教程 数据源控件2

尊重作者,请保留 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 数据绑定控件

你可能感兴趣的:(asp.net)