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

所属分类: 软件编程 / C#教程 阅读数: 109
收藏 0 赞 0 分享

前台代码:

 <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中避免重复提交和弹出提示框的实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

更多精彩内容其他人还在看

c#开发word批量转pdf源码分享

已经安装有Office环境,借助一些简单的代码即可实现批量Word转PDF,看下面的实例源码吧
收藏 0 赞 0 分享

c# xml API操作的小例子

这篇文章主要介绍了c# xml API操作的小例子,有需要的朋友可以参考一下
收藏 0 赞 0 分享

c#唯一值渲染实例代码

这篇文章主要介绍了c#唯一值渲染实例代码,有需要的朋友可以参考一下
收藏 0 赞 0 分享

淘宝IP地址库采集器c#代码

这篇文章主要介绍了淘宝IP地址库采集器c#代码,有需要的朋友可以参考一下
收藏 0 赞 0 分享

C#在后台运行操作(BackgroundWorker用法)示例分享

BackgroundWorker类允许在单独的专用线程上运行操作。如果需要能进行响应的用户界面,而且面临与这类操作相关的长时间延迟,则可以使用BackgroundWorker类方便地解决问题,下面看示例
收藏 0 赞 0 分享

c#文本加密程序代码示例

这是一个加密软件,但只限于文本加密,加了窗口控件的滑动效果,详细看下面的代码
收藏 0 赞 0 分享

c#生成站点地图(SiteMapPath)文件示例程序

这篇文章主要介绍了c#生成站点地图(SiteMapPath)文件的示例,大家参考使用
收藏 0 赞 0 分享

C# 键盘Enter键取代Tab键实现代码

这篇文章主要介绍了C# 键盘Enter键取代Tab键实现代码,有需要的朋友可以参考一下
收藏 0 赞 0 分享

C# WinForm导出Excel方法介绍

在.NET应用中,导出Excel是很常见的需求,导出Excel报表大致有以下三种方式:Office PIA,文件流和NPOI开源库,本文只介绍前两种方式
收藏 0 赞 0 分享

C#串口通信程序实例详解

在.NET平台下创建C#串口通信程序,.NET 2.0提供了串口通信的功能,其命名空间是System.IO.Ports,创建C#串口通信程序的具体实现是如何的呢?让我们开始吧
收藏 0 赞 0 分享
查看更多