Pergunta

Eu estou usando asp.net com c # na minha página aspx eu tenho um painel de atualização neste painel eu tenho alguns links para outros sites, que está aberto na mesma janela. após clicar nesses links me quando eu estou recebendo de volta através botão voltar do navegador eu não estou recebendo os mesmos resultados no painel de atualização ...

Foi útil?

Solução

Eu tenho implementar o mesmo com o seguinte artigo, Se você precisar de mais ajuda, Plz deixe-me saber, vou dar mandris de código

http://rchern.wordpress.com/ 2008/05/11 / updatepanel-backforward-browser-navegação /

Primeiro de tudo você tem que habilitar ScriptManager história EnableHistory = "true"
Neste exemplo estamos maintaing gridview de paginação, Quando o botão de usuário do navegador de volta Você tem add ponto histórico após a página é carregada pela primeira vez.

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());
}


aqui você tem que lidar com ScriptManager Navegar Evento

     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"]);
        }
    }
}
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top