问候!
我正在创建一个将在 GridView 控件中显示数据的用户控件。我们使用的是 n 层架构,有问题的数据从我们的数据库中检索并作为 ReadOnlyCollection 返回给我们。OurNewObject 是一个包含多个属性和一个不带参数的空构造函数的类 - 它位于以下命名空间中:Acme.ObjectModel。
在用户控件中,我有以下内容:
<asp:GridView ID="ourGrid" runat="server" DataSourceID="ourDataSource">
<columns>
<asp:BoundField DataField="Name" HeaderText="Full Name" />
<asp:BoundField DataField="Gender" HeaderText="Gender" />
<asp:BoundField DataField="BirthYear" HeaderText="Year of Birth" />
<asp:BoundField DataField="JoinDate" HeaderText="Date Joined" />
</columns>
</asp:GridView>
<asp:ObjectDataSource ID="ourDataSource" runat="server" SelectMethod="GetTopUsers" TypeName="Acme.Model.OurNewObject">
</asp:ObjectDataSource>
在后面的用户控件代码中,我有以下公共方法:
public ReadOnlyCollection<OurNewObject> GetTopUsers()
{
return (OurDataProxy.GetJustTheTopUsers());
}
当我将用户控件放在 Web 窗体上并运行它时,我收到以下消息:
ObjectDataSource 'ourDataSource' 找不到没有参数的非泛型方法 'GetTopUsers'。
所以我的问题是:
- 我是否错误地使用了 ObjectDataSource?
- 在这种情况下是否有更合适的方法来使用 ObjectDataSource?
谢谢。