Выполнение обновления после определенного действия в asp.net, кажется, заставляет их повторяться, даже если это действие не имеет смысла (подумайте о двойном удалении). Веб-способ справиться с этой ситуацией - перенаправить после публикации, чтобы получить чистую версию страницы, которую можно обновить без повторной публикации действия на веб-сервере. Как я могу это сделать с помощью ASP.NET
Как использовать Post / Redirect / Get a.k.a. Redirect после публикации с asp.net
comment
Я использую .NET Framework 2.0, но мне были бы интересны ответы, поскольку они применимы ко всем версиям платформы.
- person minty   schedule 01.12.2008
Ответы (2)
У меня есть чувство, что я не понимаю более серьезную проблему, но вот она. В вашем событии обратной передачи:
// the post handling logic, e.g. the click event code
Response.Redirect(Request.RawUrl);
person
Cristian Libardo
schedule
01.12.2008
Это должно быть
Response.Redirect(Request.RawUrl, false);, чтобы завершить обработку и избежать сеансов закрытия приложений и т. Д.
- person GlennG; 04.05.2017
Используйте метод Server.Transfer.
У метода Server.Transfer есть второй параметр - preserveForm. Если вы установите для него значение True, используя такой оператор, как Server.Transfer ("WebForm2.aspx", True), существующая строка запроса и любые переменные формы по-прежнему будут доступны для страницы, на которую вы выполняете перенос.
http://www.developer.com/net/asp/article.php/3299641
person
Din
schedule
01.12.2008
Так как же это предотвратить двойное удаление или двойную отправку? /
- person BobbyShaftoe; 18.12.2008
@BobbyShaftoe Не будет. Вы не можете использовать Server.Transfer, поскольку P-R-G требует, чтобы клиенту был отправлен код статуса перенаправления.
- person Ian Boyd; 26.11.2010