0

I have placed two grid views inside update panel. Both of them allow paging to show the data.

My code of .aspx page is:

<asp:UpdatePanel ID="upMaster" runat="server" >
     <ContentTemplate>
        <div class="TeamBox">
            <asp:GridView ID="MangersGrid" GridLines="None" AutoGenerateColumns="false" AllowPaging="true" PageSize="10" runat="server" OnPageIndexChanging="MangersGrid_PageIndexChanging">
                <Columns>
                    <asp:BoundField DataField="Name" HeaderText="Team Managers" />
                </Columns>
            </asp:GridView>
        </div>

        <div class="TeamBox">
            <asp:GridView ID="MembersGrid" AllowPaging="true" GridLines="None" AutoGenerateColumns="false" runat="server" PageSize="10" OnPageIndexChanging="MembersGrid_PageIndexChanging">
                <Columns>
                    <asp:BoundField DataField="Name" HeaderText="Team Members" />
                </Columns>
            </asp:GridView>
        </div>
    </ContentTemplate>
</asp:UpdatePanel>

My code for .cs is:

protected void Page_Load(object sender, EventArgs e) {   
    DoProcess();
}
void DoProcess() {
    // logic to get data table records one for each.
    MangersGrid.DataSource = dtManagers;
    MangersGrid.DataBind();
    MembersGrid.DataSource = dtNativeMembers;
    MembersGrid.DataBind();
    upMaster.Update();
}
void MangersGrid_PageIndexChanging(object sender, System.Web.UI.WebControls.GridViewPageEventArgs e)
{
    MangersGrid.PageIndex = e.NewPageIndex;
    DoProcess();
}
// Members Gridview page index change event
void MembersGrid_PageIndexChanging(object sender, System.Web.UI.WebControls.GridViewPageEventArgs e)
{
    MembersGrid.PageIndex = e.NewPageIndex;
    DoProcess();
}

The page control shows number of pages but it only renders first page. If I click on next page it does not do anything.

What am I missing?

Bartłomiej Semańczyk
  • 59,234
  • 49
  • 233
  • 358
Mohemmad K
  • 809
  • 7
  • 33
  • 74
  • What happens if you call DoProcess() before assigning the page index MembersGrid.PageIndex = e.NewPageIndex; – Bayeni Nov 09 '15 at 11:53
  • Changed the sequence of code in `PageIndexChanging` i.e. DoProcess() is called first. It throws an error 'Sys.WebForms.PageRequestManagerParserErrorException: The message received from the server could not be parsed.`. when i click on next page. @Bayeni – Mohemmad K Nov 09 '15 at 12:09
  • 1
    Wrap `DoProcess()` called under `Page_Load` inside `!IsPostBack`. – Suprabhat Biswal Nov 09 '15 at 12:28

0 Answers0