asp.net防止恶意刷新或多次点击按钮的方法

<asp:button runat="server" ID="btn" text="Button" />

以下是引用片段:
public void page_load(Object obj,EventArgs e) 

  btn.Attributes.Add("onclick","state=true;"); 
  StringBuilder sb=new StringBuilder(); 
  sb.Append("if (!state) return;"); 
  sb.Append("var button=document.getElementById(’btn’);"); 
  sb.Append("button.value=’Please Wait...’;"); 
  sb.Append("document.body.style.cursor=’wait’;"); 
  sb.Append("button.disabled=true;"); 
  string strScript="<script>"; 
  strScript=strScript +"var state=false;"; 
  //将函数绑定到页面的onbeforeunload事件: 
  strScript=strScript +"window.attachEvent(’onbeforeunload’,function(){" +sb.ToString()+ "});"; 
  strScript=strScript +"</"+"script>"; 
  Page.RegisterStartupScript("onbeforeunload",strScript); 

    protected void aa_Click(object sender, EventArgs e)
    {
        //模拟长时间的按钮处理 
        System.Threading.Thread.Sleep(2000);
        Response.Write("<script>alert(’bbbbbb!!’);" + "</" + "script>"); 
    }
时间: 2024-10-03 02:13:36

asp.net防止恶意刷新或多次点击按钮的方法的相关文章

(求帮助)点击按钮执行方法过程中,如何实现多次局部刷新?

问题描述 有一个[导出]按钮,导出word篇幅很长,花费时间多,为了方便用户,做了一个textbox框,想要实时显示导出进度.[导出]按钮方法中有一个for循环,每循环一次,更新一下textbox.试过很多办法,UpdatePanel.js.frame,都不好用.在for循环内部的最后,重新赋值textbox+=XXXXXX,希望能按照循环次数一行行显示,结果都是按钮方法执行结束后,一起显示出来.求救各位大神,帮我解决这个问题. 解决方案 解决方案二:你这个需要用AJAX,实现客户端和服务端实时

ASP.Net刷新页面后自动滚动到原来位置方法汇总

本文给大家汇总了3种ASP.Net实现的刷新页面后自动滚动到原来位置方法,十分的简单实用,有需要的小伙伴可以参考下.     在网上搜索之后总结了三种方式: 1.设置Page中的MaintainScrollPositionOnPostback属性为true A>.页面里有MaintainScrollPositionOnPostback,默认是false,设为true即可(页面级)   代码如下: <%@ Page Language="C#" AutoEventWireup=

asp.net网站防恶意刷新的Cookies与Session解决方法

 本文实例讲述了asp.net网站防恶意刷新的Cookies与Session解决方法,是WEB程序设计中非常实用的技巧.分享给大家供大家参考.具体实现方法如下: Session版实现方法: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 public double time; public const in

asp.net网站防恶意刷新的Cookies与Session解决方法_实用技巧

本文实例讲述了asp.net网站防恶意刷新的Cookies与Session解决方法,是WEB程序设计中非常实用的技巧.分享给大家供大家参考.具体实现方法如下: Session版实现方法: public double time; public const int freetime = 1;//防刷冰冻时间间隔,当前为1秒 #region 防恶意刷新 if (Session.SessionID == null) { Response.End(); } else if (Session["sionid

ASP实例:Asp 防止网页频繁刷新一法

刷新|网页 下面示例代码是防止用网页刷新过快,如果多个页面使用,最好将<%...%>代码存为一个asp文件,在需要的页面最前面include file使用.<%dim RefreshIntervalTimeRefreshIntervalTime = 3 '防止刷新的时间秒数,0表示不防止If Not IsEmpty(Session("visit")) and isnumeric(Session("visit")) and int(RefreshIn

实现 asp 的服务器无刷新推技术

服务器|刷新|无刷新 关于推送技术-----------------------------转载请注明出处:一鹤.NET_WWW.1HE.NET Client PULL(客户端拉技术)通常,聊天室通过不断刷新来显示服务器的最新信息,即所谓的Client PULL(客户端拉技术)Client PULL必须不停的建立连接,刷新信息,断开连接,这样效率很低,而且速度很慢.(如果加快速度,频繁的建立断开连接刷新页面都会增加服务器与客户端的资源消耗) Server Push(服务器推技术)推技术就是建立一

asp.net实现无刷新DropDownList联动控件

asp.net|控件|刷新|无刷新 在网上看到了一些无刷新的联动控件.下下了测试以后,显示英文和数字可以,但是不可以显示中文,后来把从网上down下来的文件做了一个翻修改,做了一个省市的联动控件.给大家共享一下.可以显示中文了.   <%@ Page language="c#" Codebehind="Example.aspx.cs" AutoEventWireup="false" Inherits="Webs.other.Exa

Asp.net实现无刷新检测用户名

本文将向大家介绍Asp.net实现无刷新检测用户名的方法,功能为:当用户输入用户名,用户名的文本框失去焦点后就检测用户名是否重复,不用再点击一个按钮才能检测(如今很多网站都具备这个功能哦). 下面就给出实现这一功能的代码: 前台代码: 以下是引用片段: <script type="text/javascript" language="javascript"> var xmlHttp = null; function CheckUser() { try {

ASP.NET防止页面刷新的两种解决方法

 本篇文章主要是对ASP.NET防止页面刷新的两种解决方法进行了详细的分析介绍,需要的朋友可以过来参考下,希望对大家有所帮助 方法有二,总结如下:    第一方法:  直接在CS代码里敲:  Response.Buffer = true;  Response.ExpiresAbsolute = DateTime.Now.AddSeconds(-1);  Response.Expires = 0;  Response.CacheControl = "no-cache";    当有人想按