我有一个带有传统3层设计的Web应用程序(ASP.Net 3.5).如果用户单击按钮发生回发,则会运行一些中间和数据层代码,并刷新屏幕.如果用户在第一次回发完成之前多次单击该按钮,则我的逻辑会混淆,并且应用程序最终可能处于无效状态.
防止这种情况的最佳方法是什么?
防止这种情况的最佳方法是什么?
我可以使用javascript来禁用按钮,但这只是隐藏了问题.如何构建业务和数据层来处理这个问题?
解决方法
三种最流行的方法(通常串联使用)是:
点击/按下> Disable submit buttons;
>使用POST+REDIRECT+GET避免后退按钮问题;和
> Replace history in the browser所以你不能回去(但这应该谨慎使用并且有充分的理由).