惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

D
Docker
I
InfoQ
L
LangChain Blog
阮一峰的网络日志
阮一峰的网络日志
Y
Y Combinator Blog
博客园_首页
Martin Fowler
Martin Fowler
宝玉的分享
宝玉的分享
A
About on SuperTechFans
Apple Machine Learning Research
Apple Machine Learning Research
Vercel News
Vercel News
T
The Blog of Author Tim Ferriss
C
Check Point Blog
B
Blog RSS Feed
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Engineering at Meta
Engineering at Meta
B
Blog
爱范儿
爱范儿
Stack Overflow Blog
Stack Overflow Blog
aimingoo的专栏
aimingoo的专栏
WordPress大学
WordPress大学
F
Fortinet All Blogs
月光博客
月光博客
GbyAI
GbyAI

博客园 - blue1000

C#批量生成大数据量无重复随机数据的另类高效实现 [转载]安装网银安全控件 近期学习SQL Server,收藏的几个学习教程网址备忘 DataColumn.Caption属性应用到DataGridView.HeaderText的方法 飞梭TXT文本数据处理百宝箱 - 极速、高效、灵活 中国父母十个错误教育观念[转] asp.net根据域名查ip C#版 - blue1000 - 博客园 asp.net 2.0教程 登录系列控件 asp.net 2.0教程 成员资格和角色管理 asp.net 2.0教程 Web部件WebPart asp.net 2.0教程 个性化用户配置 asp.net 2.0教程 数据缓存 asp.net 2.0教程 数据绑定控件 asp.net 2.0教程 数据源控件 asp.net 2.0教程 其它服务器控件 asp.net 2.0教程 网站导航控件 asp.net 2.0教程 母版页 asp.net 2.0教程 主题和皮肤 asp.net 2.0教程 C# 2.0匿名方法、迭代器、局部类
asp.net 2.0教程 数据源控件2
blue1000 · 2007-10-08 · via 博客园 - blue1000

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