如何prevent反复回传从我的困惑业务层 [英] How to prevent repeated postbacks from confusing my business layer

查看:130
本文介绍了如何prevent反复回传从我的困惑业务层的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个传统的3层设计一个Web应用程序(ASP.Net 3.5)。如果用户点击一个按钮回发情况时,某些中间层和数据层code运行时,屏幕将被刷新。如果用户多次点击按钮完成第一回发之前,我的逻辑会产生混乱而应用程序可以处于无效状态结束。
什么是prevent呢?

I have a web application (ASP.Net 3.5) with a conventional 3 layer design. If the user clicks a button a postback happens, some middle and data layer code runs, and the screen is refreshed. If the user clicks the button multiple times before the first postback is completed my logic gets confused and the app can end up in an invalid state. What are the best ways to prevent this?

我可以使用JavaScript来禁用按钮,但这只是隐藏的问题。我该如何建立自己的业务和数据层来处理呢?

I can use javascript to disable the button but this just hides the problem. How do I build my business and data layers to handle this?

推荐答案

三种最流行的方法(这往往是串联使用)是:

The three most popular methods (which are often used in tandem) are:


  1. 禁用提交一旦点击/ pressed按钮;

  2. 使用 POST + REDIRECT + GET 以避免后退按钮的问题;和

  3. 替换历史在浏览器中的,所以你不能回去(但应谨慎并有很好的理由使用)。

  1. Disable submit buttons once clicked/pressed;
  2. Use POST+REDIRECT+GET to avoid back button issues; and
  3. Replace history in the browser so you can't go back (but this should be used sparingly and with good reason).

这篇关于如何prevent反复回传从我的困惑业务层的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆