views:

405

answers:

1

i am using asp.net with c# in my aspx page i have an update panel in this panel i have some links to other sites, which is open on the same window. after clicking on these links me when i am getting back through browser's back button i am not getting the same results on the update panel...

+3  A: 

I have implement the same with the following Article, If you need further help, Plz let me know, I will provide chucks of code

http://rchern.wordpress.com/2008/05/11/updatepanel-backforward-browser-navigation/

First of all you have to Enable ScriptManager history EnableHistory="true"
In this example we are maintaing gridview paging, When user browser back button You have add history point after your page first time loads.

private void AddHistoryPoint(String key, String value, String tile)
{
    ScriptManager scm = ScriptManager.GetCurrent(this.Page);
    if ((scm.IsInAsyncPostBack == true) && (scm.IsNavigating != true))
    {
        if (pageState == null)
        {
           NameValueCollection pageState = new NameValueCollection();
        }
        if (pageState[key] != null)
        {
            pageState[key] = value;
        }
        else
        {
            pageState.Add(key, value);
        }
        scm.AddHistoryPoint(pageState, tile);
    }
}

protected void grid_PageIndexChanged1(object sender, EventArgs e)
{
    AddHistoryPoint("pi", grdProject.PageIndex.ToString(), "Page Index- " + (grdProject.PageIndex + 1).ToString());
}



here you have to handle ScriptManager Navigate Event

     protected void ScriptManager1_Navigate(object sender, System.Web.UI.HistoryEventArgs e)
{
    if (e.State != null)
    {
        if (e.State["pi"] != null)
        {
            grid.PageIndex = Convert.ToInt32(e.State["pi"]);
        }
    }
}
Muhammad Akhtar
plese provide me the code...i hv some confusion
saurabh