防止ASP.NET按钮多次提交的办法

方法一
<asp:Button ID="btnSumbit" runat="server" UseSubmitBehavior="false" OnClientClick="this.value='Sumbit';this.disabled=true; " Text="Sumbit" OnClick="btnSumbit_Click" />

方法二
 1 < html  xmlns ="http://www.w3.org/1999/xhtml" >
 2 < head  runat ="server" >
 3      < title > 禁止多次提交网页测试 </ title >
 4      < style  type ="text/css" >
 5    .disable
 6    {}{
 7        border-style:none; 
 8        border-width: thin; 
 9        background-color:Transparent; 
10        color: #CCCCCC; 
11        cursor:wait;
12    }

13    
</ style >
14      < script  type ="text/javascript"  language ="javascript" >
15    function DisableButton()
16    {
17        document.getElementById("Button2").className  = "disable";
18        document.getElementById("Button2").value = '正在提交.';
19        document.getElementById("Button2").onclick=Function("return false;");
20        return true;
21    }

22    document.onkeydown=mykeydown;   
23    function   mykeydown()
24    {   
25        if(event.keyCode==116//屏蔽F5刷新键   
26        {   
27            window.event.keyCode=0;   
28            return   false;   
29        }
   
30    }
   
31    
</ script >
32
33 </ head >
34 < body >
35      < form  id ="form1"  runat ="server" >
36      < div >
37         输入一些内容 < asp:TextBox  ID ="TextBox1"  runat ="server" ></ asp:TextBox >
38          < br  />
39          < asp:ListBox  ID ="ListBox1"  runat ="server"  Height ="77px"  Width ="332px" >
40      </ asp:ListBox >< br  />
41          < asp:Button  ID ="Button2"  runat ="server"  Text ="OK"  Width ="77px"
42             onclick ="Button2_Click"   />
43      </ div >
44     
45      </ form >
46 </ body >
47 </ html >
48

服务器端代码,故意让其延时等待3秒后再输入,以模拟数据库操作等慢速动作。
 1 public   partial   class  Default2 : System.Web.UI.Page
 2 {
 3    static public int count = 0;
 4    protected void Page_Load(object sender, EventArgs e)
 5    {
 6        if (!IsPostBack)
 7        {
 8            Button2.Attributes.Add("onclick""return DisableButton();");
 9        }

10    }

11
12    protected void Button2_Click(object sender, EventArgs e)
13    {
14        if (TextBox1.Text != string.Empty)
15        {
16            System.Threading.Thread.Sleep(3000);
17            count++;
18            ListBox1.Items.Add(new ListItem("Hello "+TextBox1.Text + "  这是你第" + count.ToString() + "次点击   " + DateTime.Now.ToString()));
19            TextBox1.Text = "";
20        }

21    }

22}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值