删除ajax控件时,分页不在GridView中工作

时间:2014-02-27 10:20:30

标签: c# asp.net

我的aspx页面中有一个网格视图。我也启用了分页。

当ajax控件在页面中时,分页工作正常,但是当我删除了ajax控件时,分页不再起作用。即,在点击第2页时,网格变为空。

可能的原因是什么?请提出解决方案。

<asp:GridView ID="SitesGrid" runat="server" AllowPaging="True" AllowSorting="True" DataSourceID="SitesDataMgr" AutoGenerateColumns="False" DataKeyNames="ID" CellPadding="3"   CellSpacing="3" OnRowDataBound="viewSite_RowDataBound" class="tbl_blck gridtable clearfix" PageSize="4" EmptyDataText="No rows found">
    <Columns>
         <asp:TemplateField Visible="false">                
            <ItemTemplate>
                <asp:Label ID="clientID" runat="server" Text='<%# Bind("ID") %>'></asp:Label>
            </ItemTemplate>                
        </asp:TemplateField>
        <asp:TemplateField HeaderText="Name"  HeaderStyle-ForeColor="White" SortExpression="ClientName">                
            <ItemTemplate>
                <asp:Label ID="clientLabel" runat="server" Text='<%# Bind("ClientName") %>'></asp:Label>
            </ItemTemplate>                
        </asp:TemplateField>
        <asp:TemplateField HeaderText="Status" HeaderStyle-ForeColor="White" SortExpression="SiteStatus">                
            <ItemTemplate>
                <asp:Label ID="siteLabel" runat="server" Text='<%# Bind("SiteStatus") %>'></asp:Label>
            </ItemTemplate>                
        </asp:TemplateField>
         <asp:TemplateField HeaderText="Details" HeaderStyle-ForeColor="White" > 
         <ItemTemplate>                                 
                 <asp:LinkButton ID="viewSite" runat="server" OnClick="viewSite_click"  CausesValidation="False" CommandName="Edit"
                    Text="View"></asp:LinkButton> 
                    </ItemTemplate>                               
        </asp:TemplateField>
    </Columns>   
</asp:GridView>
<asp:ObjectDataSource ID="SitesDataMgr" runat="server" ConvertNullToDBNull="True" OldValuesParameterFormatString="{0}" SelectMethod="GetAllSitesByUser" FilterExpression="ClientName LIKE '%{0}%'"  TypeName="Creation.DataMgr"> 
    <SelectParameters>
        <asp:SessionParameter  Name="createdUserID" Type="String" SessionField="strUserName" />
    </SelectParameters>
    <FilterParameters>
        <asp:ControlParameter Name="ClientName" ControlID="txtSearch" PropertyName="Text" />
    </FilterParameters>
</asp:ObjectDataSource>

1 个答案:

答案 0 :(得分:0)

看起来您尚未将SelectCount方法添加到ObjectDataSource。 这是ObjectDatasource正确分页数据所必需的。

您的select方法需要int参数maximumRowsstartRowIndex这是分页所需的默认参数名称。如果你有它们。请使用它们来过滤你的数据。