当我们使用浏览器后退按钮从另一个页面返回时,ASP.NET Gridview分页不会保留

时间:2013-05-13 10:39:07

标签: asp.net ajax gridview paging scriptmanager

我的ASP.NET应用程序上有一个gridview,我设置了AutoGenerateColumns = false并以编程方式填充它。这个gridview在updatepanel中排序和分页工作正常。我对此没有任何问题。我有另一个页面,通过点击此gridview的特定列进行导航,它显示了像master-detail这样的记录的更多信息。当按下浏览器后退按钮时,它将继续第一页。我希望它能记住我去过的页面。

我一直在寻找最近3天。我已经实现了AddHistoryPoint,但它无法正常工作。

 protected void detailsGrid_PageIndexChanged(object sender, EventArgs e)
{
    if (ScriptManager1.IsInAsyncPostBack && !ScriptManager1.IsNavigating)
    {
        ScriptManager1.AddHistoryPoint("page", detailsGrid.PageIndex.ToString());
    }
}
protected void ScriptManager1_Navigate(object sender, HistoryEventArgs e)
{
    string indexPage = e.State["page"];
    if (string.IsNullOrEmpty(indexPage))
    {
        detailsGrid.PageIndex = 0;
    }
    else
    {
        int pageNo = Convert.ToInt16(indexPage);
        detailsGrid.PageIndex = pageNo;
        loadmainGrid();
    }
}

1 个答案:

答案 0 :(得分:0)

试试这个:

int pageNo = Convert.ToInt16(indexPage);
loadmainGrid();
detailsGrid.PageIndex = pageNo;