捕捉梦想

※H※L※

  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
  17 随笔 :: 0 文章 :: 237 评论 :: 10 引用
用过Asp.Net的都知道,按钮操作之后会得到一个新的页面,然后用户通过浏览器的回退按钮可以回到原来的页面时,或者点刷新按钮刷新当前页面时,会显示对话框"不重新发送信息,则无法刷新页面",然后就有个"重试","取消"按钮,通常用户为了刷新页面而点击"重试",这样一点问题就来了,那么页面就会重复发送信息,并且执行先前按钮的操作,比如按钮是添加一行数据,那么刷新之后就会添加重复的数据.好的程序或许会报个提示说什么不能重复添加,甚至出个异常,没有限制的程序可能就任由用户重复的添加数据.这样当然是开发人员不想发生的.我现在还没有找到更好的解决办法,不知道那位朋友有没有好的解决方法.让我们共同分享一下.
(作者:侯垒
posted on 2007-12-01 20:48 侯垒 阅读(530) 评论(8)  编辑 收藏 所属分类: asp.net

评论

#1楼  2007-12-01 22:02 光之追随者      
cookies立即过期的办法。
  回复  引用  查看    

#2楼 [楼主] 2007-12-02 19:24 捕捉梦想      

@光之追随者
能不能说的再详细一点呀.最好有一点代码.谢谢了.
  回复  引用  查看    

#3楼  2007-12-03 23:18 Ray Zhang      
呵呵,今天刚好看到有人在内网给asp.net product team的兄弟发邮件问同样的问题,好像目前ASP.NET还没有加入防止重复提交的特性,不知道下一步如何。
可以看看http://www.heima123.com/admin/show.aspx?id=17557&cid=66
  回复  引用  查看    

#4楼  2007-12-05 17:12 tangtang [未注册用户]
可以添加完数据后转向,即使是同一个页面
  回复  引用    

#5楼 [楼主] 2007-12-05 22:06 捕捉梦想      
这个方法的确很好,但是还有一个不理想的地方是因为我操作之后我要弹出一个对话框来提示一下,这样直接转页面就不能弹出对话框了.任何信息都无法提示了.还有没有更理想一点的方法?
  回复  引用  查看    

#6楼  2008-03-09 21:32 zjfeiye [未注册用户]
那就在客户端跳转,使用window.location = url;
  回复  引用    

#7楼 [楼主] 2008-03-10 13:12 侯垒      
@zjfeiye
是呀!这种方法确实可以实现,就像上面我说的,那我就无法实现一个操作成功或者是失败的提示了.
我又找到了一种方法可以实现,不过花费的性能代价太大了.

  回复  引用  查看    

设置一个公用的操作结果页面,很多论坛不都是这样的,用户不继续操作就返回最近访问的页面
  回复  引用    


标题  
姓名  
主页
Email (博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
该文被作者在 2008-02-26 11:20 编辑过


相关链接:
 
Powered by: houlei
QQ联系我