下载首页 | 资讯中心 | 文章分类 | 最近更新 | 排 行 榜 | 国产软件 | 国外软件 | 绿色软件 | 汉化补丁 | |
文章搜索: 分类 关键字
您的位置:首页编程开发网络编程 → ASP.NET 2.0 ObjectDataSource控件
ASP.NET 2.0 ObjectDataSource控件
来源:天极yesky 作者: 加入时间:2006-10-27 访问次数:17 [  ]


  下面的图表显示了GridView、ObjectDataSource和业务逻辑层之间的交互操作。ObjectDataSource被配置为调用ContactsList类型的GetContacts方法,返回Contact对象的集合。GridView列出了Contact对象,并直接绑定到该类型的属性(ID, Name)来生成列。请注意,SelectMethod可以返回一个Contact对象的IEnumerable接口,或者返回单个Contact对象。如果本身没有实现IEnumerable,ObjectDataSource会把SelectMethod返回的结果封装到IEnumerable中。

  ObjectDataSource控件与SqlDataSource类似,当SelectMethod 返回数据集、数据视图或数据表对象的时候,它也支持排序功能。ObjectDataSource依赖数据视图。在这个例子中Sort属性执行排序操作。ObjectDataSource也支持SelectMethod实现中的自定义排序,如果该方法没有返回数据集、数据视图和数据表,它就非常有用。通过把SortParameterName属性设置为从数据源接受SortExpression的方法参数名称,可以实现自定义排序。在调用SelectMethod的时候,ObjectDataSource会把这个表达式传递到你的方法中,你就可以使用这个表达式实现自己的排序逻辑。前面的例子演示了在AuthorsComponent类中自定义了一个排序实现。

  ObjectDataSource还支持SelectMethod实现中的自定义分页功能。你需要使用StartRowIndexParameterName、MaximumRowsParameterName和SelectCountMethod属性来设置它。

   绑定到Visual Studio数据集

  绑定数据访问层的操作可能很单调乏味,因为在DAL的不同方法中,执行SQL语句或存储过程的ADO.NET代码时相同的或相似的。虽然你可以利用上述技术数用定制的ADO.NET代码来编写自己的DAL,Visual Studio还是提供了一条基于简单的向导生成数据访问层的方便途径。在这种情况下,数据访问层是强化类型的数据集对象。该数据集包含了TableAdapter类型,它暴露了用于返回强化类型的数据表对象的方法。这些方法适合于直接绑定到ObjectDataSource,或者在业务逻辑层组件中调用。

  为了给Visual Studio对象添加数据集,你需要右键点击“解决方案浏览器”并选择“添加新项”,接着选择“数据集”项类型。Visual Studio给App_Code目录添加了一个DataSet.xsd文件,并打开了数据集设计器,载入了TableAdapter向导。你可以跟随TableAdapter向导,指定数据库中的SQL语句或存储过程,接着在向导的最后一个页面中输入与这些查询/命令关联的方法名称。

  TableAdapter可以暴露两个方法:Fill方法用于填充已有的数据集,Get方法返回一个已经填充好的数据表对象。前者更适合于Windows客户端(在应用程序的生命周期中数据集保存在内存中),而后者适合于ObjectDataSource。TableAdapter向导还为你提供的SQL选择语句自动地生成了更新、插入和删除方法(需要选择主键)。在配置好向导之后,Visual Studio给数据集设计器添加了一个新的数据表和TableAdapter类型。

  TableAdapter描述了单个结果集的大纲和大纲上的选择、更新、插入或删除操作。你可以通过在数据集设计器中右键单击,给数据集添加多个TableAdapter。你还可以右键点击设计器中的TableAdapter框给TableAdapter添加额外的查询(倘若它们返回相同的大纲)。例如,你的TableAdapter可能同时包含了GetAuthors()和GetAuthorsById(int id) 方法,但是如果要添加GetTitles()方法,可能需要添加一个新的TableAdapter。下图显示了添加了多个TableAdapter的数据集设计器:

  你完成数据集的设计之后,就可以保存DataSet.xsd文件了(它引起该类型被设计器后台编译,以供页面使用)。你可以看到暴露给页面代码的这些类型:

protected void Page_Load(object sender, EventArgs e)
{
 DataSetTableAdapters.PhotosTableAdapter adapter = new  DataSetTableAdapters.PhotosTableAdapter();
 adapter.GetPhotosForAlbum(0);
}

  但是,你不需要从自己的代码中调用这些方法。你可以把ObjectDataSource绑定到这些方法:
上一页 [1] [2] [3] [4] 下一页
评论人 评论内容摘要(共 0 条,查看完整内容) 得分 0 发表时间
 热点文章
·惊爆!《暗黑破坏神3》将对应全平台
·《荣誉勋章:太平洋之战》中文版上市
·MediaShow魅力四射快速制作音乐电子相册
·《花木兰》完美流程攻略
·轻松可爱 最新10大Q版网络游戏推荐
·2006年暑期新宣布免费网络游戏一览
·photoshop制作水晶球中的精灵
·NVIDIA发布Forceware 93.71 WHQL驱动
·经验分享 微软Word2007实用技巧两则
·国内新记录产生 1M super pi运算仅用9秒
 推荐文章
·微软高官爆料:欧盟对Vista哪些功能不安
·在Google Talk上与QQ、MSN好友聊天
·Word使用过程中的常见问题及其解决
·手把手教你内存终极变相“造假”大法
·NVIDIA联手海盗船 推出自动超频内存
·Windows Vista特殊功能介绍:语音识别
·公安机关检验软件样本 流氓软件制造者面临坐牢危..
·比英特尔UMPC还要小 移动PC新品推出
·性感暴力完美结合 御姐武戏X新画面
·盖茨访谈:我就是微软里的兼职员工
WinXP下载基地 版权所有 Copyright© 2006-2008 WWW.WinXpd.COM, All Rights Reserved. 页面维护: WinXP下载基地(WinXP基D)