C#禁止重复提交

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; }

}

}