ご挨拶!
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 を使用するより適切な方法はありますか?
ありがとう。