一起谈.NET技术,asp.net控件开发基础(23)
2011-09-01 23:47
676 查看
讨论了如何实现一个简单的数据源控件,但还没有完全的实现.这次我们具体的实现一些方法来加强数据源控件的功能.这里我们根据SqlDataSource控件的一些功能来实现。本篇示例源码来自Professional ASP.NET2.0 ServerControl and Component Development,即是模仿SqlDataSource而制作.我把控件功能减弱,代码整理了下,我们只关注重要的部分,一步一步上去。
一.概念
1.首先你必须熟悉ADO.NET的使用,然后抽象出一部分属性和方法,如执行sql语句命令类型,这个属性你便可以抽象出来,当是控件功能的一部分.所以这部分代码不再列出,大家仔细看就会明白了。
2.数据操作注意事项
(1)数据前后操作事件,我们见过SqlDataSource的数据前后操作事件,如读取数据,前后事件则是Selecting和Selected
假设getData方法是读取数据库,那么写成代码就是这样
protected override int ExecuteDelete(IDictionary keys, IDictionary oldValues)
protected override IEnumerable ExecuteSelect(DataSourceSelectArguments arguments)
public virtual void Insert (
IDictionary values,
DataSourceViewOperationCallback callback
)
但默认情况下是同步的,所以还需要在子类实现一个同步的方法
public int Insert(IDictionary values)
public virtual string ConnectionString
{
get
{
if (this._connectionString != null)
{
return this._connectionString;
}
return string.Empty;
}
set
{
if (this.ConnectionString != value)
{
this._connectionString = value;
this.RaiseDataSourceChangedEvent(EventArgs.Empty);
}
}
}
以上为我学习方法的总结,都是比较重要的地方。如果列代码的话,不适合.因为大家数据库操作本来就会的。熟悉上面的操作过程然后再进行编写就好多了。还希望与大家多交流,错误的地方还请指出。
一.概念
1.首先你必须熟悉ADO.NET的使用,然后抽象出一部分属性和方法,如执行sql语句命令类型,这个属性你便可以抽象出来,当是控件功能的一部分.所以这部分代码不再列出,大家仔细看就会明白了。
2.数据操作注意事项
(1)数据前后操作事件,我们见过SqlDataSource的数据前后操作事件,如读取数据,前后事件则是Selecting和Selected
假设getData方法是读取数据库,那么写成代码就是这样
protected override int ExecuteDelete(IDictionary keys, IDictionary oldValues)
protected override IEnumerable ExecuteSelect(DataSourceSelectArguments arguments)
public virtual void Insert (
IDictionary values,
DataSourceViewOperationCallback callback
)
但默认情况下是同步的,所以还需要在子类实现一个同步的方法
public int Insert(IDictionary values)
public virtual string ConnectionString
{
get
{
if (this._connectionString != null)
{
return this._connectionString;
}
return string.Empty;
}
set
{
if (this.ConnectionString != value)
{
this._connectionString = value;
this.RaiseDataSourceChangedEvent(EventArgs.Empty);
}
}
}
以上为我学习方法的总结,都是比较重要的地方。如果列代码的话,不适合.因为大家数据库操作本来就会的。熟悉上面的操作过程然后再进行编写就好多了。还希望与大家多交流,错误的地方还请指出。
相关文章推荐
- 一起谈.NET技术,asp.net控件开发基础(7)
- 一起谈.NET技术,asp.net控件开发基础(17)
- 一起谈.NET技术,asp.net控件开发基础(6)
- 一起谈.NET技术,asp.net控件开发基础(22)
- 一起谈.NET技术,asp.net控件开发基础(5)
- 一起谈.NET技术,asp.net控件开发基础(15)
- 一起谈.NET技术,asp.net控件开发基础(4)
- 一起谈.NET技术,asp.net控件开发基础(18)
- 一起谈.NET技术,asp.net控件开发基础(3)
- 一起谈.NET技术,asp.net控件开发基础(13)
- 一起谈.NET技术,asp.net控件开发基础(14)
- 一起谈.NET技术,asp.net控件开发基础(21)
- 一起谈.NET技术,asp.net控件开发基础(20)
- 一起谈.NET技术,asp.net控件开发基础(2)
- 一起谈.NET技术,asp.net控件开发基础(16)
- 一起谈.NET技术,asp.net控件开发基础(19)
- 一起谈.NET技术,asp.net控件开发基础(12)
- 一起谈.NET技术,asp.net控件开发基础(11)
- 一起谈.NET技术,asp.net控件开发基础(1)
- 一起谈.NET技术,asp.net控件开发基础(10)