在我的数据访问层(我正在使用数据集)中,我有几个查询从数据库表中检索不同的列。同时,我有一个业务逻辑层,它有一种基于输入参数的方法,从 DAL 中选择一个查询。
现在,由于实现分页和排序非常容易,我希望在我的网页上使用对象数据源作为网格视图的数据源。但是,对象数据源的 select 方法似乎直接进入了数据访问层,而不是业务逻辑层。
是否可以将对象数据源的select方法指向BLL中的方法?还是我坚持为 DAL 中的不同查询创建多个对象数据源?
在我的数据访问层(我正在使用数据集)中,我有几个查询从数据库表中检索不同的列。同时,我有一个业务逻辑层,它有一种基于输入参数的方法,从 DAL 中选择一个查询。
现在,由于实现分页和排序非常容易,我希望在我的网页上使用对象数据源作为网格视图的数据源。但是,对象数据源的 select 方法似乎直接进入了数据访问层,而不是业务逻辑层。
是否可以将对象数据源的select方法指向BLL中的方法?还是我坚持为 DAL 中的不同查询创建多个对象数据源?
我不明白你为什么说
似乎对象数据源的选择方法直接进入数据访问层而不是业务逻辑层
您可以通过指定 TypeName 和 SelectMethod 来指定调用哪个方法:
<asp:ObjectDataSource ID="ODSData" runat="server"
SelectMethod="GetXXX" TypeName="BusinessLayer.MyClass"
但是,如果您想从 Visual Studio 设计器中查看业务方法,则必须使用以下内容装饰业务层方法:
[System.ComponentModel.DataObjectMethodAttribute
(System.ComponentModel.DataObjectMethodType.Select, true)]