MSDN如下说:
大多数 ASP.NET 数据源控件,如 SqlDataSource,都在两层应用程序层次结构中使用。在该层次结构中,表示层(ASP.NET 网页)可以与数据层(数据库和 XML 文件等)直接进行通信。但是,常用的应用程序设计原则是,将表示层与业务逻辑相分离,而将业务逻辑封装在业务对象中。这些业务对象在表示层和数据层之间形成一层,从而生成一种三层应用程序结构。ObjectDataSource 控件通过提供一种将相关页上的数据控件绑定到中间层业务对象的方法,为三层结构提供支持。在不使用扩展代码的情况下,ObjectDataSource 使用中间层业务对象以声明方式对数据执行选择、插入、更新、删除、分页、排序、缓存和筛选操作。
说的很明白啦,SqlDataSource是两层模型中使用的.页面通过直接访问数据库.
ObjectDataSource用于三层模型中,也就是将中间业务对象通过其访问数据库的.然后中间层业务对象再用在表示层中,也就是前台页面中.用户自定义控件应该是个很好的例子.
参考资料:MSDN---ObjectDataSource
大多数 ASP.NET 数据源控件,如 SqlDataSource,都在两层应用程序层次结构中使用。在该层次结构中,表示层(ASP.NET 网页)可以与数据层(数据库和 XML 文件等)直接进行通信。但是,常用的应用程序设计原则是,将表示层与业务逻辑相分离,而将业务逻辑封装在业务对象中。这些业务对象在表示层和数据层之间形成一层,从而生成一种三层应用程序结构。ObjectDataSource 控件通过提供一种将相关页上的数据控件绑定到中间层业务对象的方法,为三层结构提供支持。在不使用扩展代码的情况下,ObjectDataSource 使用中间层业务对象以声明方式对数据执行选择、插入、更新、删除、分页、排序、缓存和筛选操作。
说的很明白啦,SqlDataSource是两层模型中使用的.页面通过直接访问数据库.
ObjectDataSource用于三层模型中,也就是将中间业务对象通过其访问数据库的.然后中间层业务对象再用在表示层中,也就是前台页面中.用户自定义控件应该是个很好的例子.
参考资料:MSDN---ObjectDataSource