ページングを有効にしてObjectDataSourceを使用しようとしています。これには、SelectCountMethodを使用する必要があります(グリッドがページ数を認識できるようにするため)。私のObjectDataSourceは次のようになります。
<asp:ObjectDataSource ID="ItemsDataSource" runat="server" SelectMethod="GetContentGridItems"
TypeName="ContentItemExtensions" SelectCountMethod="GetContentGridItemsCount" EnablePaging="True">
<SelectParameters>
<asp:QueryStringParameter Name="contentItemID" QueryStringField="cid" DbType="Guid" />
<asp:QueryStringParameter Name="contentTypeID" QueryStringField="tid" Type="String" />
<asp:QueryStringParameter Name="contentTypeGroup" QueryStringField="tgid" Type="String" />
<asp:QueryStringParameter Name="parentItemID" QueryStringField="pcid" DbType="Guid" />
<asp:QueryStringParameter Name="parentFieldID" QueryStringField="pfld" type="String" />
</SelectParameters>
そして、対応する静的クラスは次のようになります。
public static class ContentItemExtensions
{
public static DataTable GetContentGridItems(Guid? contentItemId,string contentTypeID, string contentTypeGroup, Guid? parentItemID, string parentFieldID,int maximumRows, int startRowIndex)
public static int GetContentGridItemsCount(Guid? contentItemId,string contentTypeID, string contentTypeGroup, Guid? parentItemID, string parentFieldID)
}
ページングを使用しない場合はすべて正常に機能しますが、ページングを有効にすると、必要なものを明確に示す次の例外が発生します。
ObjectDataSource'ItemsDataSource'は、パラメーター:contentItemID、contentTypeID、contentTypeGroup、parentItemID、parentFieldIDを持つ非ジェネリックメソッド'GetContentGridItemsCount'を見つけることができませんでした。
私のメソッドにはこれらのパラメーターがあり、ジェネリックではないため、手がかりがありません。誰か助けてもらえますか?