При использовании asp.net события на стороне сервера будут автоматически запускаться при обновлении страницы. Возьмем простой пример, например: страница регистрации: после того, как мы заполним регистрационную информацию, если мы нажмем F5 для обновления, событие Button будет автоматически запущено, что вызовет проблемы с повторной регистрацией.
Мое предыдущее решение: запрос по ключевым словам, и если есть сходства, то подскажет, что этот пользователь уже существует.
Но это решение нельзя использовать без признания, и он отправит повторно. Ввиду этого я искал новое решение. К счастью, по совету друга я нашел такое решение. Должно быть лучшее решение, и я без колебаний дам вам совет.
Решение. При обновлении захватите нажатие клавиши и позвольте ему вызывать другие бесполезные события.
1. JavaScript для захвата события F5
window.document.onkeydown = Нажатие клавиши
функция KeyStroke();
{
ключ вар = event.keyCode;
event.srcElement.releaseCapture();
если (ключ == 116)
{
document.getElementById("Button1").click();
event.keyCode=0;
event.returnValue=false;
}
}
2. Разместите кнопку на странице aspx
<asp:Button id="Button1" style="Z-INDEX: 102; LEFT: 344px; POSITION: абсолютное; TOP: 408px; WIDTH: 0px runat="server"
Text="Button"></asp:Button>
3. Событие кнопки
частный void Button1_Click (отправитель объекта, System.EventArgs e)
{
Response.Write("Вы нажали клавишу F5");
}
Это решение «сохранить машину, чтобы сохранить красоту» может решить небольшую проблему автоматического запуска событий для обновления. Если у кого-то есть лучшее решение, дайте мне знать, я буду очень благодарен!