做最好的自己~~

Be My Personal Best!

导航

asp.net 如何防止按F5重新提交表单

 

      这几天在做一个网上报名页面,页代码不成问题,三下五除二就搞定了,但做到最后却出现了意料之中的问题,按F5后它会提示重新提交刚才刚才的表单,

如果一个不懂的人遇到这样的问题就点是那数据库不就两天就崩溃了~~

      所以在网上找了很多方法,有利用session解决问题的,有利用js解决问题的,但要么觉得太麻烦,要么觉得有缺陷。第二天,重新打开电脑,打开这个页页,而对这个问题我突然来了灵感,记得以前在解决一个刷新验证码问题时我用了使用 ?id= 带参数重新去请求页的方式来刷新当前页面。

      结果果然在我意料之中,在表单提交成功后加一句代码:

       Response.Redirect("baoming.aspx?id=恭喜您,报名成功!"); 这样它就会重新刷新此页面,按F5后也不会提示重新提交表单

      但有了这句后你也得此表单页面(baoming.aspx)的 Page_Load 加上与下面类似的代码:

       if (Request.QueryString["id"] != null)
            {
                this.showok.InnerHtml = "<font color='Green' style='font-size:15px' ><b>" + Request.QueryString["id"].ToString()+   b></font>";
            }

      也就是如果第一次打开此页面则没有任何提示,当提交表单成功后重新定向表此页面并附带一个参数信息过来,重新加裁此页面时就可以把参数信息显示在页面上,以提交用户注册成功还是失败,同时又达到了防止按F5重复提示提交表单的目的。

posted on 2009-03-07 12:48  阿万  阅读(995)  评论(0编辑  收藏  举报