通常采用的方法是 btn.enable=false;
这样按钮不能用了,不能通过按钮提交表单,但是可以通过刷新重复提交数据?或者是后退后照样可以提交表单还有别的方法吗?

解决方案 »

  1.   

    在隐藏表单里面放一个类似guid的标识进行判断。
    或者在后台cache对象里面对提交的内容进行缓存,如用户名,标题等等。
    或者采用flash等提交
      

  2.   

    参考
    http://blog.csdn.net/zhanglei5415/archive/2010/12/07/6060906.aspx
      

  3.   

    我是通过在表单中插入一个隐藏表单,页面加载时随机赋给他一个值,并且保存在session里面,提交后比较session和隐藏表单的值,并且使该session失效.如果页面满足Page.IsPostBack,则不给该表单赋值,这样重复提交时隐藏表单是没有值的.这个方法还可以避免跨域提交表单的情况哦~~
      

  4.   

    提交后, 记录 cookie或ip或帐号以及提交时间,
    如果发现cookie中有刚提交的标记,以及同IP或同帐号在短时间内提交过,就拒绝入库.
      

  5.   

    提交结束后,直接在执行response.redirect("本页面");
    比较笨。
      

  6.   

    ajax提交数据到相关页面,cookie记录用户操作时间差
    iframe嵌套页面,刷新