我用asp.net写的web页面,当用户按了提交按钮后;把信息提交了,但当用户用鼠标右键再刷新一次页面时,出现一个IE提示框,当用户按"重试"时就出现重复提交的错误!现在想问大家,除了在提交后用javascript的window.location=window.location;解决外,还有没有其他的好方法!用window.location=window.location;页面显示会有点慢!

解决方案 »

  1.   

    IE的刷新就是重复执行上动作(根据url历史)。找微软论理去!在我的页面上不会出现这种情况,因为我的页面的smartNavigation总是设置为true,浏览器url历史不会堆积如山。
      

  2.   

    用this.Response.Redirect("提交页面")
      

  3.   

    http://www.asp.net/ControlGallery/ControlDetail.aspx?Control=2101&tabindex=2
      

  4.   

    我在网上找到别人说:
    smartnavigation 本身就是 BUG 多多, 尽量不要用。该功能在 .NET 2.0 里,已经下岗了
    用this.Response.Redirect("提交页面")与javascript的window.location=window.location效果应该是一样的把
    大家发表一下看发怎么解决这个问题,
      

  5.   

    SubmitOncePage:解决刷新页面造成的数据重复提交问题
    http://cncxz.cnblogs.com/archive/2005/12/25/304141.html
      

  6.   

    我用的是重定向,比如建一个index.aspx,放一个按钮,text="进入数据窗口",利用这个按钮redirect到数据页面datagrid.aspx,在数据页面提交后立刻再跳回index.aspx.如果客户想再改数据的话,请重新进入数据窗口.这样的话,比如人性化,因为我觉得大多数情况下编辑数据后就不大可能立刻重新编辑了.
      

  7.   

    smart navigation的确是有些问题,而且是慕名奇妙的问题,弄的人不知所措!
      

  8.   

    这个问题已经在CSDN被问了N次了,呵呵。看看微软MSDN上的文章《基于功能更丰富的基础类构建您自己的 ASP.NET 页面》,http://www.microsoft.com/china/msdn/library/webservices/asp.net/BedrockAspNet.mspx我把它编译成DLL了,很好用,呵呵