Usando asp.net, os eventos do lado do servidor serão acionados automaticamente quando a página for atualizada. Veja um exemplo simples, como: uma página de cadastro, após preenchermos as informações cadastrais, se pressionarmos F5 para atualizar, o evento Button será acionado automaticamente, o que causará o problema de cadastro novamente.
Minha solução anterior: faça uma consulta com palavras-chave e, se houver semelhanças, avisará que esse usuário já existe.
Mas esta solução não pode ser utilizada sem reconhecimento, e ele irá submeter-se novamente. Diante disso, procurei uma nova solução. Felizmente, com o conselho de um amigo, encontrei essa solução. Deve haver uma solução melhor e não hesitarei em lhe dar conselhos.
Solução: Ao atualizar, capture KeyPress e deixe-o acionar outros eventos inúteis.
1. JavaScript para capturar o evento F5
window.document.onkeydown=KeyStroke;
função KeyStroke()
{
var chave = event.keyCode;
event.srcElement.releaseCapture();
se(chave == 116)
{
document.getElementById("Botão1").click();
event.keyCode=0;
event.returnValue=falso;
}
}
2. Coloque um botão na página aspx
3. Evento de botão
private void Button1_Click (remetente do objeto, System.EventArgs e)
{
Response.Write("Você pressionou a tecla F5");
}
Essa solução "salve o carro para manter a beleza" pode resolver o pequeno problema de acionar automaticamente eventos para atualização. Se alguém tiver uma solução melhor, por favor me avise, ficarei muito grato!