Asp.Net中避免重复提交和弹出提示框的实例代码

前台代码:

 <asp:Button ID="Button1" runat="server" Text="打印"  onclick="Button1_Click" OnClientClick="this.value='数据提交中……';this.disabled=true;" UseSubmitBehavior="False" />

后台代码:

public partial class WebForm1 : System.Web.UI.Page
  {
    protected override void OnLoad(EventArgs e)
    {
      StringBuilder pageBase_script = new StringBuilder("<script Language=\"Javascript\">");
      pageBase_script.Append(@"var times=0;
         function pageBase_tick() //用于显示执行的时长
         {
         times++;
            var str = '';
            var temp = times%5;
            for(var i=0;i<temp;i++)
              str+='.';
         document.getElementById('pageBase_Clocktimes').innerHTML ='正在提交,请稍候'+ str;
         } "
        );
      pageBase_script.Append("<").Append("/").Append("script>");
      StringBuilder pageBase_div = new StringBuilder(" <div id=\"pageBase_runing\" runat=\"server\" style=\"z-index: 12000; left: 0px; width: 100%; position: absolute; top: 0px; height: 100%\">");
      pageBase_div.Append("<table width=\"100%\" height=\"100%\">");
      pageBase_div.Append("<tr align=\"center\" valign=\"middle\">");
      pageBase_div.Append("<td>");
      pageBase_div.Append(" <table width=\"200\" height=\"25\" bgcolor=\"#9999FF\" style=\"filter: Alpha(Opacity=70); \">");
      pageBase_div.Append(" <tr align=\"center\" valign=\"middle\">");
      pageBase_div.Append("  <td>");
      pageBase_div.Append("<div style=\"width:200px;height:25px; background-color: #99CCFF; \">");
      pageBase_div.Append("     <div id=\"pageBase_Clocktimes\" style=\"color: #FF0000; float:left; width:196px;height:21px \" >正在提交,请稍候</div>");
      pageBase_div.Append("</div>");
      pageBase_div.Append("</td>");
      pageBase_div.Append(" </tr>");
      pageBase_div.Append(" </table>");
      pageBase_div.Append(" </td>");
      pageBase_div.Append(" </tr>");
      pageBase_div.Append(" </table>");
      pageBase_div.Append("</div>");
      StringBuilder pageBase_divHide = new StringBuilder("<script Language=\"Javascript\">");
      pageBase_divHide.Append("document.getElementById('pageBase_runing').style.visibility = \"hidden\";");
      pageBase_divHide.Append("<").Append("/").Append("script>");
      if (!Page.ClientScript.IsStartupScriptRegistered("runingscript"))
      {
        Page.ClientScript.RegisterStartupScript(Page.GetType(), "pageBase_div", pageBase_div.ToString());
        Page.ClientScript.RegisterStartupScript(Page.GetType(), "pageBase_script", pageBase_script.ToString());
        Page.ClientScript.RegisterStartupScript(Page.GetType(), "pageBase_divHide", pageBase_divHide.ToString());
      }
      base.OnLoad(e);
    }
    /// <summary>
    /// 设置提交之后.出现请等待提示,在页面调用基类的这个方法,把要提交的控件传入即可
    /// </summary>
    /// <param name="btn">提交按钮</param>
    public void SubmitLoad(Button btn)
    {
      btn.Attributes.Add("onclick", "javascript:document.getElementById('pageBase_runing').style.visibility='visible';window.setInterval('pageBase_tick()',500);");
    }
    /// <summary>
    /// 设置提交之后.出现请等待提示
    /// </summary>
    /// <param name="lbtn">提交按钮</param>
    public void SubmitLoad(LinkButton lbtn)
    {
      lbtn.Attributes.Add("onclick",
                 "javascript:document.getElementById('pageBase_runing').style.visibility='visible';window.setInterval('pageBase_tick()',1000);");
    }
    protected void Page_Load(object sender, EventArgs e)
    {
      SubmitLoad(Button1);
    }
    protected void Button1_Click(object sender, EventArgs e)
    {
      Button1.Enabled=false;
      //string IP = PrintingLabel.SearchPrinterIP(TextBox1.Text, TextBox2.Text, TextBox3.Text);
      //Response.Write(IP);
      int ifs=0;
      for (int i = 0; i < 1000000000; i++)
      {
        ifs++;
      }
    }
  }
}

以上所述是小编给大家介绍的asp.net中避免重复提交和弹出提示框的实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!

(0)

相关推荐

  • asp.net 处理F5刷新页面重复提交页面的一个思路

    当提交完一个页面后,如果我们再次点击F5刷新该页面的话,会弹出一个提示,提示我们如果继续,则会重新发送提交我们刚才提交的内容,要是类似付款或一次性的操作,我们不应该这样操作,否则会造成重复提交的问题.解决这个问题,我们可以通过如下思路来处理: 1. 提交成功后,将一个成功状态存入session中,然后重新载入该页面. 2. 在page_load方法中,判定该session字段的状态值,如果为成功,则显示成功信息,否则显示错误提示,紧跟着通过Session.Remove()方法来清空该缓存即可.

  • Asp.Net防止刷新重复提交数据的办法

    在网上搜 一下,可以找到很多关于这方面的资料,其中有一篇是来自MSDN上的一种解决方法: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnvs05/html/BedrockASPNET.asp 它是通过重新定义 System.Web.UI.Page 类来实现加载页面时,是"刷新"."后退"请求,还是正常请求,其他的页面则继承了自定义的这 个Page类.感觉他这个方法比较独特,有例子

  • asp.net防止刷新时重复提交(可禁用工具条刷新按钮)

    前段时间遇到了需要禁用刷新的需求,f5按钮就不说了,简单的js就能把它禁用,但是工具条上的刷新按钮却傻傻干不掉. 如果简单的在刷新时重新加载画面,通过window.location.href="url"可以很容易的实现,但是需求是要求在刷新时什么都不做,保留画面的状态,这下子可就复杂化了. asp.net中分辨请求是重新请求还是通过刷新按钮再次请求不是很方便,为了实现这个效果,试过了很多的方式,一下面的两种为例 1. 复制代码 代码如下: private bool pageRefres

  • asp.net表单提交时防重复提交并执行前台的JS验证

    在项目开发中,遇到这样的一个情况,就是用户重复提交.当然这个不能怪用户,只能怪.NET或者服务器反应迟钝......我是这样理解的. 在网上搜了一下,解决方案是不少,比如: http://bbs.csdn.net/topics/340048988 (这个大家提了不少建议) http://www.cnblogs.com/blsong/archive/2009/12/24/1631144.html (这个基本上总结了网上的方法) 但实际上做互联网web项目中,需要在前台执行JS或者Jquery的验证

  • asp.net 防止用户通过后退按钮重复提交表单

    防止用户通过后退按钮重复提交表单 <% response.Buffer=true response.Expires=0 response.ExpiresAbsolute=now()-1 response.CacheControl="no-cache" %> response.Buffer=true的意思就是指明输出页面是否被缓冲,当属性值为True时,服务器将不会向客户端发送任何信息,直到所有程序执行完或者遇到 <% Response.Flush %>或<

  • ASP.NET中为GridView添加删除提示框的方法

    本文实例讲述了ASP.NET中为GridView添加删除提示框的方法.分享给大家供大家参考.具体分析如下: 在GridView中我们可以直接添加一个CommandField删除列来删除某行信息.但为了避免误操作引起的误删除,在删除操作者让操作者再确认下,完后再进行删除. 首先我们给我们的GridView 添加一个模板列,如下: 以下是引用片段: <ASP:TemplateField HeaderText="Delete" ShowHeader="False"&

  • Asp.Net中避免重复提交和弹出提示框的实例代码

    前台代码: <asp:Button ID="Button1" runat="server" Text="打印" onclick="Button1_Click" OnClientClick="this.value='数据提交中--';this.disabled=true;" UseSubmitBehavior="False" /> 后台代码: public partial cl

  • Android中实现长按照片弹出右键菜单功能的实例代码

    场景效果 注: 实现 将布局改为LinearLayout,并通过android:orientation="vertical">设置为垂直布局. 然后添加一个ImageView,并设置id属性和图片源. <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/andr

  • JavaScript中常用的3种弹出提示框(alert、confirm、prompt)

    三种提示框 alert () confirm() prompt () alert () alert()方法是显示一条弹出提示消息和确认按钮的警告框. 需要注意的是 :alert()是一个阻塞的函数,如果我们不点确认按钮,后面的内容就不会加载出来. 使用方式: alert("想要提示的文本内容") 样例代码: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <

  • bootstrap实现点击删除按钮弹出确认框的实例代码

    具体代码如下所示: <%@ page language="java" import="com.student.servlet.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@page import="java.util.*" import="com.student.vo.User"%

  • android实现弹出提示框

    本文实例为大家分享了anadroid实现弹出提示框的具体代码,供大家参考,具体内容如下 提示框是利用AlertDialog实现的. 代码: (设置在button的点击事件中) new AlertDialog.Builder(MainActivity.this).setTitle("信息提示")//设置对话框标题 .setMessage("是否需要更换xxx?") .setPositiveButton("是", new DialogInterfac

  • js右下角弹出提示框示例代码

    本文实例讲解了网页右下角弹出广告信息框实例代码,分享给大家供大家参考,具体内容如下 效果图: 具体代码: <!DOCTYPE html> <html> <head> <meta charset="gb2312"> <title>网页右下角的信息框</title> </head> <style type="text/css"> #winpop { width:200px;

  • php弹出提示框的是实例写法

    php中弹出对话框的方法如下,一般,在提交信息后需要弹出对话框提示,之后可以自动关闭对话框,弹出对话框有下面集中方法,其实都是利用javascript中的alert()方法.提示结束后关闭当前页,同样可以用javascript的Window.self.close()来实现. 确切语句如: echo " <script> window.self.close(); </script> "; 1. php弹出对话框 //弹出对话框 <?php echo &quo

  • JS实现刷新父页面不弹出提示框的方法

    本文实例讲述了JS实现刷新父页面不弹出提示框的方法.分享给大家供大家参考,具体如下: A页面 open方式出 B页面 ,当B页面做了类如保存动作后,需要关闭B页面,刷新A页面的情况下,会弹出一个提示框,要求点重试,这个就是发生预料之外的情况,用户体验很差. 解决方案分两种情况: 1.A页面很简单的情况(没有frame/iframe) 在B页面中的function中: function close(){ window.opener.location.reload(); window.opener

  • JavaScript基础教程之alert弹出提示框实例

    alert 命令弹出一个提示框 为便于对 JavaScript 有一个直观的认识,本节会提供几个简单的实例供 JavaScript 入门学习之用.下面的代码是一个弹出提示框的例子: 复制代码 代码如下: <script type="text/javascript"> alert("我是提示文字!"); </script> 将上面部分代码,用文本编辑器(如写字板或其他更高级的编辑器,如 EditPlus 等)保存为 alert.html(或 a

  • Android实现从底部弹出的Dialog的实例代码

    1.点击按钮(按钮的点击事件在此不在赘述,接下来直接写底部弹框的实现方式和样式的设计) 2.弹框 Dialog dialog = new Dialog(context, R.style.ActionSheetDialogStyle); //填充对话框的布局 inflate = LayoutInflater.from(context).inflate(R.layout.dialog_layout, null); // setCancelable(iscancelable);//点击外部不可dism

随机推荐