当前位置:编程学习 > asp >>

防止刷新页面提交的方法

检查页面是否通过点击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属性判断即可。
 

摘自 Serviceboy  
补充:Web开发 , ASP.Net ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,