【问题标题】:Object Data Source select method directly accesses the Data Access Layer?对象数据源选择方法直接访问数据访问层?
【发布时间】:2012-10-15 16:27:43
【问题描述】:
在我的数据访问层(我正在使用数据集)中,我有几个查询从数据库表中检索不同的列。同时,我有一个业务逻辑层,它有一个基于输入参数的方法,从 DAL 中选择一个查询。
现在,我希望在我的网页上使用对象数据源作为网格视图的数据源,因为它很容易实现分页和排序。但是,对象数据源的 select 方法似乎直接进入了数据访问层,而不是业务逻辑层。
是否可以将对象数据源的select方法指向BLL中的方法?还是我坚持为 DAL 中的不同查询创建多个对象数据源?
【问题讨论】:
标签:
asp.net
sql
gridview
objectdatasource
【解决方案1】:
我不明白你为什么这么说
似乎对象数据源的select方法去了
直接到数据访问层而不是业务逻辑
层
您可以通过指定 TypeName 和 SelectMethod 来指定调用哪个方法:
<asp:ObjectDataSource ID="ODSData" runat="server"
SelectMethod="GetXXX" TypeName="BusinessLayer.MyClass"
但是,如果您想从 Visual Studio 设计器中查看业务方法,您必须使用以下方式装饰业务层方法:
[System.ComponentModel.DataObjectMethodAttribute
(System.ComponentModel.DataObjectMethodType.Select, true)]