ASP.NET控件开发基础(22)

http://tech.ddvip.com   2007年09月02日    社区交流

内容摘要:上两篇讨论了如何定义结合数据源控件的数据绑定控件.这次我们一起来看下数据源控件是如何实现的。asp.net2.0已经为我们提供了很多数据源控件,相信大家都用过了,也希望大家对其有所熟悉.关于它能做什么就不说了。下面我们也一起来看看,如何简单的实现.

  二.最简单实现(示例)

  什么是最简单实现呢?比如只提供最基本的检索数据功能的数据源控件,这里我们只需要实现上面两个类的抽象方法就OK了,还是看示例吧.

  (1)定义DataSourceView实现ExecuteSelect方法

public class MyDataSourceView : DataSourceView
{
  public MyDataSourceView(MyDataSourceControl owner, string name)
    : base(owner, name)
  {
  }
  
  protected override IEnumerable ExecuteSelect(DataSourceSelectArguments arguments)
  {
    arguments.RaiseUnsupportedCapabilitiesError(this);
  
    SqlConnection conn =
      new SqlConnection("Server=localhost;Database=Northwind;uid=sa;pwd=123456");
    conn.Open();
  
    SqlCommand cmd =
      new SqlCommand("SELECT CustomerID, ContactName, ContactTitle, CompanyName FROM Customers WHERE CustomerID LIKE '[AB]%'",
      conn);
    return (IEnumerable) cmd.ExecuteReader(CommandBehavior.CloseConnection);
  }
}

  (2)定义DataSourceControl,获取DataSourceView

public class MyDataSourceControl : DataSourceControl
{
  protected override DataSourceView GetView(string viewName)
  {
    return new MyDataSourceView(this, "");
  }
}

  你可能不相信,你已经完成了一个数据源控件了,使用方法一样,如下

责编:豆豆技术应用

正在加载评论...