`
long546324
  • 浏览: 207056 次
  • 性别: Icon_minigender_1
  • 来自: 云南
社区版块
存档分类
最新评论

ASP.Net中防止页面刷新重复提交的几种方法

    博客分类:
  • .net
阅读更多
1、也是最简单和最常用的办法,就是使用转向页面语句,分两种:
    a.使用服务器端的 Response.Redirect("YourPage");
    b.使用客户端脚本 <script language=javascript>location.href='yourPage';</script>
    这两种方法的缺点是如果要保留页面数据不太方便,如果不用保留可以采用。

2、操作完毕设置一个Session,进入页面时判断这个Session是否为null,如果不是表示已经提交过了,但是缺点就是这个页面无法再提交了,必须在别的页面清空这个Session。

3、是从网上搜索到的一种方案,学习并共享一下:
DetectRefresh.aspx  
===========================      
<%@   Page   Inherits="StevenBey.Web.UI.Page"   %>  
<html>  
<head>  
<title>Detecting   Page   Refresh   [Demo]</title>  
</head>  
<body>  
<form   runat="server">  
<asp:button   Text="Test   Refresh"   runat="server"   />  
</form>  
IsRefresh   =   <%=   IsRefresh   %>  
</body>  
</html>  

StevenBey.Web.UI.Page.cs  
======================  
namespace   StevenBey.Web.UI  
{  
public   class   Page   :   System.Web.UI.Page  
{  
    private   bool   _refreshState;  
    private   bool   _isRefresh;  
   
    public   bool   IsRefresh  
    {  
      get  
      {  
      return   _isRefresh;  
      }  
    }  
   
    protected   override   void   LoadViewState(object   savedState)  
    {  
      object[]   allStates   =   (object[])   savedState;  
      base.LoadViewState(allStates[0]);  
      _refreshState   =   (bool)   allStates[1];  
      _isRefresh   =   _refreshState   ==   (bool)   Session["__ISREFRESH"];  
    }  
   
    protected   override   object   SaveViewState()  
    {  
      Session["__ISREFRESH"]   =   _refreshState;  
      object[]   allStates   =   new   object[2];  
      allStates[0]   =   base.SaveViewState();  
      allStates[1]   =   !_refreshState;  
      return   allStates;  
    }  
}  
}

分享到:
评论

相关推荐

    asp.net防止页面刷新的办法

    以下将详细探讨几种在ASP.NET中防止页面刷新导致重复提交的方法: ### 1. 使用转向页面语句 这是最直接且广泛使用的方法,它可以通过服务器端或客户端脚本来实现。 #### 服务器端转向 使用`Response.Redirect...

    ASP.net中页面刷新

    在ASP.NET中,页面刷新是常见的操作,用于更新用户界面或者执行特定的逻辑。以下是几种实现页面刷新的方法: 1. **使用Response.Redirect()** 这是最常见的页面重定向方式,通常在按钮点击事件中使用。例如: ```...

    ASP.NET页面刷新方法总结

    本文将详细介绍几种常用的ASP.NET页面刷新方法,并分析每种方法的特点与适用场景。 #### 二、方法总结 ##### 1. 使用`Response.Redirect` 这种方法通过重新定向浏览器到当前URL来实现页面刷新。这是最简单也是最...

    Asp.net中防止用户多次登录的方法

    本文将详细介绍几种在ASP.NET中实现防止用户多次登录的技术方法,并对每种方法的优缺点进行分析。 #### 1. 使用Application对象存储已登录用户列表 这种方法的核心思想是利用ASP.NET提供的`Application`对象来存储...

    ASP.net系统模板页面

    首先,模板页面(Master Page)是ASP.NET中的一个重要概念,它提供了一种方式来创建一致的布局和设计,适用于整个网站。通过定义一个主页面,开发者可以定义通用的头部、导航栏、页脚等元素,而内容页面(Content ...

    asp.net页面防止重复提交示例分享

    为了防止页面刷新之后,用户再次点击按钮造成重复提交,页面刷新前应当将重要状态保存至服务器端或通过其他方式维持状态,例如使用服务器端的Session变量或者数据库记录,保证即使页面刷新,状态也能被正确地维护。...

    asp.net mvc3 表单提交和异步提交

    实现ASP.NET MVC3的Ajax提交有几种方式。一种是使用jQuery的`.ajax()`方法,另一种是使用`$.post()`或`$.get()`等简化版本。还可以利用jQuery的`.load()`方法来加载服务器返回的部分HTML。在MVC3中,可以结合AJAX...

    .net页面刷新方法

    本文将详细讲解几种在ASP.NET中实现页面刷新的方法。 1. **Response.Redirect()**: 这是最常用的方法,通过`Response.Redirect()`函数,我们可以将用户的浏览器重定向到指定的URL。例如: ```csharp private ...

    asp.net 常用页面刷新

    本文将详细介绍几种常用的ASP.NET页面刷新方法,并结合具体代码示例进行解析。 #### 一、通过`Response.Redirect()`实现页面刷新 在ASP.NET中,`Response.Redirect()`是一种常见的页面重定向方式,它能够使浏览器...

    ASP.NET中几种有用的特效

    在这个主题“ASP.NET中几种有用的特效”中,我们将探讨如何结合ASP.NET 2.0和JQuery来实现一些常见的网页特效,提升用户的交互体验。 1. **滑动菜单**:利用JQuery的slideToggle方法,可以在用户点击时实现菜单的...

    ASP.NET页面刷新方法总结.pdf

    以下是几种在ASP.NET中实现页面刷新的方法: 1. **Response.Redirect()**: 这是最常见的页面重定向方法,它会将用户的浏览器导向一个新的URL。例如,当`Button1_Click`事件触发时,`Response.Redirect(Request....

    ASP.NET刷新页面的几种方法详解

    以下将详细讲解在ASP.NET中实现页面刷新的六种方法。 **第一种:使用`Response.Redirect()`** 这是最常见的方式,通过重定向到当前页面的URL来实现刷新。在`Button1_Click`事件处理程序中,我们使用`Response....

    asp_net中如何定时刷新数据

    本篇文章将详细介绍几种常用的在ASP.NET中实现定时刷新数据的方法,并通过具体示例来帮助理解。 #### 1. 使用ASP.NET AJAX中的Timer控件 在ASP.NET AJAX中,`Timer` 控件是一种非常有效的工具,用于实现页面的部分...

    ASP.NET 无刷新用户验证(AjaxPro)

    无刷新用户验证是ASP.NET中提高用户体验的关键技术之一,尤其是在进行表单验证时,它可以避免在提交表单时整个页面的刷新,从而提供更流畅的操作体验。 AjaxPro是ASP.NET中实现无刷新用户验证的一种库,它是基于...

    Asp.Net Ajax无刷新聊天室

    【Asp.Net Ajax无刷新聊天室】是一种基于Asp.Net技术构建的实时交流平台,它利用Ajax(异步JavaScript和XML)技术实现了页面的无刷新更新,为用户提供流畅的交互体验。这种聊天室的设计旨在提高用户体验,使得用户在...

    ASP.NET实现图片无刷新异步上传预览

    在“ASP.NET实现图片无刷新异步上传预览”这个主题中,我们主要关注的是如何在不刷新整个页面的情况下,实现实时的图片上传和预览功能。这个过程涉及到几个关键的技术点: 1. **异步处理**:在ASP.NET中,可以使用...

Global site tag (gtag.js) - Google Analytics