Como posso obter a mesma página com o clique de botão voltar do navegador
-
13-09-2019 - |
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 ...
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"]);
}
}
}