您现在的位置:中国下载站学院中心网络编程ASP.net教程ADO.NET → 文章列表

ASP.NET2.0中使用数据源控件之基础知识

作者:佚名  来源:不详  发布时间:2007-4-14 12:09:10   

减小字体 增大字体

 
 
  数据源控件是 Microsoft Visual Studio 2005 中引入的一种新型服务器控件,它们是数据绑定体系结构的一个关键部分,能够通过数据绑定控件来提供声明性编程模型和自动数据绑定行为。本文及此系列中的后续几篇文章介绍实现数据源控件的核心内容。

  引言

  简而言之,数据源控件概括了一个数据存储和可以针对所包含的数据执行的一些操作。DataBound 控件通过其 DataSourceID 属性与一个数据源控件相关联。大多数传统的数据存储要么是表格格式,要么是分层的,数据源控件也相应地分为两类。在此要介绍的是表格格式的数据源控件。

  数据源控件自身并不能发挥多大作用;所有逻辑都封装在 DataSourceView 派生的类中。至少有一个 DataSourceView 必须实现检索(即 SELECT)一组行的功能。它可以提供修改数据(即 INSERT、UPDATE 和 DELETE)的功能(可选)。数据绑定控件可通过各种 Can??? 属性来检查启用功能集。数据源控件本身只是一个或多个唯一命名视图的容器。依据惯例,默认视图可以按其名称进行访问,也可以为空。不同视图之间是否存在关系或者存在怎样的关系可以根据每个数据源控件的实现情况来进行适当的定义。例如,某个数据源控件可能会通过不同的视图对同一个数据提供不同的经筛选的视图,或者可能会在辅助视图中提供一组子行。可使用数据绑定控件的 DataMember 属性来选择某个特殊的视图(如果该数据源控件提供了多个视图)。请注意,Whidbey 中的所有内置数据源控件目前都不提供多个视图。

  最后再介绍一点内容。数据源控件(及其视图)会实现两组 API。第一组 API 是就四种常用的数据操作而定义的一个抽象界面,以常规方式从任一数据绑定控件中使用。第二组是可选的,它使用其表示的域或数据存储方面的术语来定义,通常被强类型化,且面向应用程序开发人员。

  示例

  在这些文章中,将实现一个 WeatherDataSource,它将针对由 weather.com(英文)提供的 REST(英文)XML API 来工作,以便根据邮政编码来检索天气信息。通常会首先实现派生的数据源控件。

  public class WeatherDataSource : DataSourceControl {
 public static readonly string
 CurrentConditionsViewName = "CurrentConditions";
 private WeatherDataSourceView _currentConditionsView;
 private WeatherDataSourceView CurrentConditionsView {
  get {
   if (_currentConditionsView == null) {
    _currentConditionsView = new WeatherDataSourceView(this, CurrentConditionsViewName);
   }
   return _currentConditionsView;
  }
 }
 public string ZipCode {
  get {
   string s = (string)ViewState["ZipCode"];
   return (s != null) ? s : String.Empty;
  }
  set {
   if (String.Compare(value, ZipCode,
    StringComparison.Ordinal) != 0) {
     ViewState["ZipCode"] = value;
     CurrentConditionsView.RaiseChangedEvent();
   }
  }
 }
 protected override DataSourceView GetView(string viewName) {
  if (String.IsNullOrEmpty(viewName) ||
     (String.Compare(viewName, CurrentConditionsViewName,
     StringComparison.OrdinalIgnoreCase) == 0)) {
      return CurrentConditionsView;
  }
  throw new ArgumentOutOfRangeException("viewName");
 }
 protected override ICollection GetViewNames() {
  return new string[] { CurrentConditionsViewName };
 }
 public Weather GetWeather() {
  return CurrentConditionView.GetWeather();
 }
}


在百度中搜索更多ASP.NET2.0中使用数据源控件之基础知识相关网页 转贴于:中国下载站

  • 上一篇文章:ASP.NET2.0中使用数据源控件之参数
  • 下一篇文章:体验ASP.NET 2.0 中的数据访问控件
  • 阅读统计:[]
  • 中国下载站】【设为主页】【收藏本页】【打印本文】【回到顶部】【关闭此页

    相关文章
    文章评论(评论内容只代表网友观点,与本站立场无关!)

    用户名: 查看更多评论

    分 值:100分 85分 70分 55分 40分 25分 10分 0分

    内 容:

             (注“”为必填内容。) 验证码: 验证码,看不清楚?请点击刷新验证码


    设为首页 - 关于我们 - 广告服务 - 网站地图 - 加入收藏 - 网站声明 - 网站帮助 - 友情链接

    • Copyright (C) 2006-2008 www.cndownz.com All Rights Reserved.
      中国下载站 版权所有. 粤ICP备05141802号. 对本站有任何建议、意见或投诉,请来信:cndownzcom@yahoo.com.cn.
      喜欢中国下载站(cndownz.com),请把中国下载站(cndownz.com)告诉你QQ上的5位好友,多谢支持!