aspnet网页防止后退或刷新造成重复提交
2015-01-15 14:51
344 查看
aspnet网页防止后退或刷新造成重复提交
设网站有两个网页,提交第一页后转到第二页,这时,如用通过浏览器的后退功能,会使浏览器再次呈现第一页,这就可能出现重复提交,另外,转到第二页后,刷新浏览器,也会退返回第一页,也可造成重复提交。
理想的情况是这样的,提交第一页后转到第二页,这时,如用通过浏览器的后退功能,浏览器再次呈现第一页,这时提交,则出现“网页已过期”提示,并且不再执行提交转跳等操作,或转到第二页后,刷新浏览器,则出现“网页已过期”提示。
现提供一种简单的方法,示例代码如下:
Button1_Click方法,且此时的IsPostBack的值为真。第一次打开网页或刷新浏览器时,也会执行Page_Load方式,且此时IsPostBack的值为假。
设网站有两个网页,提交第一页后转到第二页,这时,如用通过浏览器的后退功能,会使浏览器再次呈现第一页,这就可能出现重复提交,另外,转到第二页后,刷新浏览器,也会退返回第一页,也可造成重复提交。
理想的情况是这样的,提交第一页后转到第二页,这时,如用通过浏览器的后退功能,浏览器再次呈现第一页,这时提交,则出现“网页已过期”提示,并且不再执行提交转跳等操作,或转到第二页后,刷新浏览器,则出现“网页已过期”提示。
现提供一种简单的方法,示例代码如下:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="NoRepearSubmit.WebForm1" %> <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title></title> </head> <body> <form id="form1" runat="server"> <div> <asp:Label ID="Label1" runat="server" Text="网页已过期!"></asp:Label> <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" /> <br /> <br /> </div> </form> </body> </html>
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; namespace NoRepearSubmit { public partial class WebForm1 : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { Label1.Visible = false; if (Session["IsForm1Valid"] == null) { Session["IsForm1Valid"] = "true"; ///下接初始化代码 } else { if (Session["IsForm1Valid"].ToString() == "false") Label1.Visible = true;//刷新 } } } protected void Button1_Click(object sender, EventArgs e) { if (Session["IsForm1Valid"].ToString () == "true") { /// ///正常的代码位于此位置 /// Session["IsForm1Valid"] = "false"; Server.Transfer("WebForm2.aspx"); } else { Label1.Visible =true ; } } } }是不是很简单,要点说一下,网页提交时都会执行Page_Load方法,在上述代码中所描述的网页中,单击按钮后,首先会先执行Page_Load方法,然后才执行
Button1_Click方法,且此时的IsPostBack的值为真。第一次打开网页或刷新浏览器时,也会执行Page_Load方式,且此时IsPostBack的值为假。
相关文章推荐
- jsp中防止刷新后退等操作造成表单重复提交(纯jsp或者struts)
- ASP.net防止用户后退、刷新造成重复提交的方法研究
- 网页如何防止刷新重复提交与如何防止后退的解决方法
- 网页如何防止刷新重复提交与如何防止后退的解决方法
- 网页如何防止刷新重复提交与如何防止后退的解决方法
- 网页如何防止刷新重复提交与如何防止后退的解决方法
- 网页如何防止刷新重复提交与如何防止后退的解决方法
- 网页防刷新重复提交、防后退解决方法
- 重复提交、重复刷新、防止后退的问题以及处理方式
- asp.net网页防刷新重复提交、防后退解决办法!
- 重复提交、重复刷新、防止后退的问题以及处理方式
- 重复提交、重复刷新、防止后退的问题以及处理方式
- 防止刷新页面造成表单重复提交
- 网页防刷新重复提交、防后退解决方法
- 重复提交、重复刷新、防止后退的问题以及处理方式(转帖)
- JSP 防止网页刷新重复提交数据
- ASP.NET 后退问题 .net 防止刷新 后退重复提交
- 重复提交、重复刷新、防止后退的问题以及处理方式
- 网页防刷新重复提交、防后退解决方法
- 重复提交、重复刷新、防止后退的问题以及处理方式