Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/266.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 移除ajax控件时,在GridView中分页不起作用_C#_Asp.net - Fatal编程技术网

C# 移除ajax控件时,在GridView中分页不起作用

C# 移除ajax控件时,在GridView中分页不起作用,c#,asp.net,C#,Asp.net,我的aspx页面中有一个网格视图。我还启用了分页 当页面中有ajax控件时,分页工作正常,但当我删除ajax控件时,分页不再工作。即,单击第2页时,网格变为空 可能的原因是什么?请提出解决办法 代码 <asp:GridView ID="SitesGrid" runat="server" AllowPaging="True" AllowSorting="True" DataSourceID="SitesDataMgr" AutoGenerateColumns="False" DataKeyN

我的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>

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


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

请将您的代码放在这里]@Killer我现在在我的问题中粘贴了代码您提供的代码不清楚,在看到您问题中的所有内容后,您可能想知道:您在谈论什么ajax控件?gridview的页面索引更改事件的代码是什么,页面的页面加载事件中的代码是什么。我为文本框放置了TextBoxWatermarkExtender ajax控件。然后页面工作正常。finevoid SiteGrid_PageIndexChanging(对象发送者,GridViewPageEventArgs e){SitesGrid.PageIndex=e.NewPageIndex;SitesGrid.DataBind();}