Когда пользователь нажимает F5 (или использует кнопку панели инструментов для обновления страницы), будет вызывать отправку на сервер нового запроса, идентичного предыдущему. , Событие Button.Click
будет вызвано снова , но у вас есть несколько способов защитить себя от вставки данных дважды.
Лучший способ, IMHO, это использовать Шаблон Post / Redirect / Get . В своем коде сразу после точки сохранения данных выполните перенаправление 302 на страницу подтверждения:
protected void btnSaveStuff_Click(object sender, EventArgs e)
{
SaveStuffToDatabase();
Response.Redirect("confirmation.aspx");
}
При использовании шаблона, POST
исходной страницы не попадет в историю браузера, а обновление страницы результатов приведет к повторному окончательному GET
, что должно быть безопасно.