C#禁止重复提交

ContractedBlock.gif ExpandedBlockStart.gif Code
Button1.Attributes.Add("onclick",   "this.value='正在提交中,请等待……';this.disabled=true;"   +   this.GetPostBackEventReference(Button1));

也可以做成自定义控件:
   
/**//// <summary>
    
/// 只能提交一次的按钮
    
/// </summary>
    public class ButtonSubmitOnce : Button
    {
        
private string _textonclick = "处理中,请稍后。。。";
        
private string _clientcheck;

        
protected override void Render(HtmlTextWriter writer)
        {
            StringBuilder temp 
= new StringBuilder();

            temp.Append(
this.OnClientClick);

            
if (!string.IsNullOrEmpty(_clientcheck)) temp.Append("if(!").Append(_clientcheck).Append(") return false;");

            
if (!string.IsNullOrEmpty(_textonclick)) temp.Append("this.value=\"").Append(_textonclick).Append("\";");

            
//this is for the ff
            temp.Append("if(null==window.onunload) window.onunload = function(){};");

            temp.Append(
"this.disabled = true;").Append(Page.GetPostBackEventReference(this));

            
this.OnClientClick = temp.ToString();

            
base.Render(writer);
        }

        
public string TextOnClick
        {
            
set { _textonclick = value; }
        }

        
public string ClientCheck
        {
            
set { _clientcheck = value; }
        }
    }

转载于:https://www.cnblogs.com/hayden/archive/2009/08/17/1548256.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值