Detectar atualização do navegador
Como posso descobrir se o usuário pressionou F5 para atualizar minha página (algo como a implementação da SO. Se você atualizar sua página, o contador de perguntas não aumentará). Eu testei muitos trechos de código mencionados em uma dúzia de tutoriais, mas nenhum funcionou corretament
Para ser mais claro, suponha que eu possua um formulário da Web vazio e gostaria de detectar se o usuário pressionou F5 no lado do cliente (causando uma atualização não enviada) ou nã
Eu posso usar variáveis de sessão, mas se o usuário navegar para outra página do meu site e voltar, gostaria de considerá-la uma nova visita, não uma atualização. portanto, essa não é uma variável de escopo de sessã
Obrigado
Atualizar A única solução alternativa que encontrei foi herdar minhas páginas de uma página base, substituir o método de carregamento como abaixo:
public class PageBase : System.Web.UI.Page
{
protected override void OnLoad(EventArgs e)
{
base.OnLoad(e);
this.Session["LastViewedPage"] = Request.RawUrl;
}
}
e em todas as páginas se eu estiver interessado em saber se é uma atualização:
if (this.Session["LastViewedPage"].ToString() == Request.RawUrl)
{
// This is a refresh!
}