Paged ObjectDataSource приводит к PageSize -1 - PullRequest
0 голосов
/ 11 июня 2010

Я использую ListView с Paged DataSource. Когда ObjectDataSource пытается извлечь данные из метода «GetData», для параметра PageSize задается значение -1, хотя я установил для PageSize значение 8 в DataPager.

Я что-то забыл?

<asp:ListView DataSourceID="odsProductIndex" ID="lstProductIndex" runat="server" OnItemDataBound="lstProductIndex_ItemDataBound">
    <LayoutTemplate>
        <asp:PlaceHolder ID="itemPlaceHolder" runat="server"></asp:PlaceHolder>

        <div class="Clear"></div>
        <div id="Pagination">
            <asp:DataPager ID="pagProductIndex" PageSize="8" runat="server" PagedControlID="lstProductIndex">
                <Fields>
                    <asp:NextPreviousPagerField ButtonType="Image" ShowLastPageButton="false" ShowNextPageButton="false" PreviousPageImageUrl="~/Images/LexiconWord/Icons/pagination_previous.png" />
                    <asp:NumericPagerField ButtonCount="10" PreviousPageText="..." NextPageText="..." />
                    <asp:NextPreviousPagerField ButtonType="Image" ShowFirstPageButton="false" ShowPreviousPageButton="false" NextPageImageUrl="~/Images/LexiconWord/Icons/pagination_next.png" />
                </Fields>
            </asp:DataPager>
        </div>
    </LayoutTemplate>

    <ItemTemplate>
        <!-- ITEM TEMPLATE HERE -->
    </ItemTemplate>
    <EmptyDataTemplate>
        No products found...
    </EmptyDataTemplate>
</asp:ListView>

<asp:ObjectDataSource ID="odsProductIndex" runat="server" 
    EnablePaging="true" 
    SelectMethod="GetData">
</asp:ObjectDataSource>

1 Ответ

0 голосов
/ 11 июня 2010

Решено путем изменения ObjectDataSource:

<asp:ObjectDataSource ID="odsProductIndex" 
    runat="server"
    EnablePaging="true"
    MaximumRowsParameterName="maximumRows"
    StartRowIndexParameterName="startRowIndex"
    SelectMethod="GetData">

    <SelectParameters>
        <asp:Parameter Name="maximumRows" DefaultValue="8" />
        <asp:Parameter Name="startRowIndex" DefaultValue="0" />
    </SelectParameters>
</asp:ObjectDataSource>
...