随笔-313  评论-12177  文章-1 

Atlas命名空间Sys.Data下控件介绍——DataSource和XMLDataSource

English Version: http://dflying.dflying.net/1/archive/123_introduction_to_atlas_controls_in_namespace_sysdata__datasource_and_xmldatasource.html

 

本系列有如下三篇文章:

  1. Atlas命名空间Sys.Data下控件介绍——DataSource和XMLDataSource
  2. Atlas命名空间Sys.Data下控件介绍——DataColumn,DataRow和DataTable
  3. Atlas命名空间Sys.Data下控件介绍——DataView和DataFilter
目前为止,对于ASP.NET Atlas的命名空间Sys.Data中的客户端控件,国外以及国内均无较完备的介绍或官方文档,而在目前的Web应用程序开发中数据访问又是如此重要的一部分。所以我希望能在这里分享一些我的关于这部分控件的使用心得与经验,希望对各位能有所帮助。请注意这个系列仅仅是一些介绍,也就是说,这里我会主要谈论一些如何使用的方法,而不会过多涉及到这些控件是如何实现的以及它们的工作原理。如果您对这些较高级的话题感兴趣,我会在未来的文章中有所涉及。但个人感觉目前的首要任务还是普及Atlas,从基本的使用介绍入手。同时,我本人也处在学习Atlas的过程中,文章中难免有不解,疏漏甚至错误的部分,这里还请您不吝指出。也欢迎留下您的宝贵看法。

 

OK,开头部分废话到此为止,让我们切入正题。

在实际开发的Web应用程序中,我们大都需要与数据打交道:从后台取出数据并显示给用户,然后把用户的修改提交回数据库保存。这也构成了当今Web应用程序的大部分内容,所以ASP.NET把以上的操作抽象出来并作为内建的DataSource对象提供给我们开发者。Atlas脚本库也提供了相应的客户端DataSource对象。

在ASP.NET Atlas中,有两种DataSource对象:

  1. Sys.Data.DataSource:描述一个表格状数据结构的数据源,例如查询数据库得到的一个集合。DataSource对象与ASP.NET中的SQLDataSource类似,可用来作为Atlas客户端控件ListView(请参考:使用ASP.NET Atlas ListView控件显示列表数据 )和ItemView(请参考:使用ASP.NET Atlas ItemView控件显示集合中的单个数据 )的客户端数据源。您可以使用DataSource对象从服务器端取得数据并把用户的修改提交回服务器保存。
  2. Sys.Data.XMLDataSource::描述一个层次状数据结构的数据源,例如一个XML文档。XMLDataSource对象与ASP.NET中的XMLDataSource对象类似,可用来作为Atlas客户端控件XSLTView(介绍待完成)的客户端数据源。与DataSource数据源不同的是,XMLDataSource只能读取数据,不能将用户的改变提交回服务器。

下面我来依次介绍这两个数据源:

Sys.Data.DataSource

DataSource数据源有如下属性:

  1. data:从服务器端取回并保存在客户端的数据。
  2. autoLoad:布尔值,用来指定当这个数据源被初始化之后是否自动开始从服务器端取得数据。如果您需要在页面加载时就指定该数据源的内容,应该使用initialData属性代替,因为它避免了自动加载带来的在页面被加载后立刻发生的那一次与服务器的通信。
  3. initialData:随着页面加载而同时被送往数据源的数据。在好多情况中,当用户第一次访问某个页面时候就需要使用一些初始的数据,例如某个列表的第一页的记录。这时候我们可以使用Atlas的服务器端控件InitialData来将这部分数据与页面源文件一起,在这次HTTP请求中发送给客户端,以避免在页面传输完成后立刻发生第二次请求。
  4. isDirtyAndReady:表示该数据源是否完成了从服务器端的加载,且取得到了不为空的数据集合,且数据没有被修改过。
  5. isReady:表示该数据源是否完成了从服务器端的加载。您可以将这个属性绑定到您的数据显示控件的enabled属性上,这样在数据源加载的过程中数据显示控件将被禁用,以避免误用户的操作。
  6. rowCount:数据的条目数。
  7. serviceURL:数据源请求数据的Web Service的URL。您必须提供这个属性。
  8. parameters:Web Service的参数。仅当serviceType属性为Handler时才需要设置。
  9. serviceType:服务器端Service的类型。可选DataServiceHandler。默认值与推荐值是DataService,代表您的Service类继承于Microsoft.Web.Services.DataService,拥有内建的CRUD方法调用机制。

DataSource数据源有如下方法:

  1. load:从服务器取得数据。
  2. save:将客户端对数据的修改提交给服务器保存。只在serviceType属性设置成DataService时候有效。

DataSource数据源有如下事件:

  1. dataAvailable:将在成功取得数据后被引发。

DataSource数据源的示例请参考:使用ASP.NET Atlas ListView控件显示列表数据使用ASP.NET Atlas ItemView控件显示集合中的单个数据

Sys.Data.XMLDataSource

XMLDataSource数据源有如下属性:

  1. autoLoad:布尔值,用来指定当这个数据源被初始化之后是否自动开始从服务器端取得数据。与DataSource数据源类似,如果您需要在页面加载时就指定该数据源的内容,应该使用initialDocument属性代替。
  2. data:XML数据,解析自document属性值。
  3. document:从服务器端取得的包含XML文档的string。
  4. initialDocument:与DataSource数据源的initialData属性类似。同样的,您应该尽可能的使用这个属性而不是autoLoad属性。
  5. isReady:与DataSource的相应属性类似。代表该数据源是否加载并解析完成了XML数据。
  6. parameters:Web Service的参数。
  7. serviceURL:数据源请求数据的Web Service的URL。您必须提供这个属性。
  8. xpath:xpath字符串,用来在从document属性解析data属性时选择解析的path。

XMLDataSource数据源有如下方法:

  1. load:从服务器取得数据。

XMLDataSource数据源有如下事件:

  1. dataAvailable:将在成功取得数据后被引发。

XMLDataSource数据源的示例将很快完成。

posted on 2006-04-14 23:05 Dflying Chen 阅读(...) 评论(...) 编辑 收藏