防止刷新页面提交的方法
检查页面是否通过点击submit按钮而回发的方法是使用IsPostBack,那么有时候我们需要检查一个页面是否被重复刷新过,以便防止重复提交数据。当然,判断方法很多,我这里简单说一下一个比较简单而且容易理解的办法——就是使用Session进行检查(因为Session放在服务端,而且第一次加载访问页面的时候可以进行一个记录,以后就直接判断该页面中的Session是否为null,如果不为null则说明已经刷新过了)。这里我给出代码:
[C#]
public class MyPage:Page
{
public bool IsRefresh { get; set; }
protected override void OnInit(EventArgs e)
{
base.OnInit(e);
if (Session["flag"] == null)
{
Session["flag"] = true;
IsRefresh = false;
}
else
{
IsRefresh = true;
}
}
}
[VB.NET]
Public Class MyPage
Inherits Page
Public Property IsRefresh() As Boolean
Get
Return m_IsRefresh
End Get
Set
m_IsRefresh = Value
End Set
End Property
Private m_IsRefresh As Boolean
Protected Overrides Sub OnInit(e As EventArgs)
MyBase.OnInit(e)
If Session("flag") Is Nothing Then
Session("flag") = True
IsRefresh = False
Else
IsRefresh = True
End If
End Sub
End Class
主要是自定义了一个MyPage类然后继承了System.Web.Page,并且重写了OnInit方法,作为设置Session标识符是否是第一次加载的依据。如果其它页面需要使用,直接继承我的Page方法然后使用IsRefresh属性判断即可。
补充:Web开发 , ASP.Net ,