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

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

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

  (2)SelectCommandType属性,用于描述sql命令类型

public SqlDataSourceCommandType SelectCommandType
{
  get { return ViewState["SelectCommandType"] != null ?
    (SqlDataSourceCommandType) ViewState["SelectCommandType"] : SqlDataSourceCommandType.Text; }
  set { ViewState["SelectCommandType"] = value; }
}

  (3)SelectParameters属性,获取该集合包含由SelectCommand属性使用的参数集合

public ParameterCollection SelectParameters
{
  get
  {
    if (selectParameters == null)
    {
      selectParameters = new ParameterCollection();
    }
    return selectParameters;
  }
}

  (4)Can数据操作(如CanDelete)属性,由于检索数据为必须的操作,所以没有CanSelect属性

  (5)Selected和Selecting事件

public event SqlDataSourceStatusEventHandler Selected
{
  add { Events.AddHandler(SelectedKey, value); }
  remove { Events.RemoveHandler(SelectedKey, value); }
}
  
public event SqlDataSourceSelectingEventHandler Selecting
{
  add { Events.AddHandler(SelectingKey, value); }
  remove { Events.RemoveHandler(SelectingKey, value); }
}

  (6)ExecuteSelect具体实现方法

protected override IEnumerable ExecuteSelect(DataSourceSelectArguments arguments)
{
}

  此外DataSourceControl也需要根据不同数据的来源定义相关属性,当然还有其他你可能想到的,你也可以加进去.

  此篇就先此打住,至少实现了一个最简单的示例^__^.下次我们继续,不然篇幅可能太长.有些问题放在一起太多,可能太乱.其实现在我们已经看到一些自定义的数据源控件了,如支持NBear和Nhibernate的数据源控件,大家可以参考以下.

责编:豆豆技术应用

正在加载评论...