点击按钮时,调用以下方法能防止页面刷新重复提交。
#region 防止刷新重复提交
private string ReSubmitToken
{
set
{
this.Session["ReSubmitToken"] = value;
}
get
{
if (this.Session["ReSubmitToken"] != null)
return this.Session["ReSubmitToken"].ToString();
else
return "0";
}
}
private HiddenField hf;
/// <summary>
/// 初始化刷新用到的控件
/// </summary>
private void InitControls()
{
this.ReSubmitToken = "0";
EnsureChildControls();
hf.Value = "0";
}
protected override void CreateChildControls()
{
hf = new HiddenField();
this.Form.Controls.Add(hf);
base.CreateChildControls();
}
/// <summary>
/// 判断是否刷新
/// </summary>
public bool IsRefreshed
{
get
{
EnsureChildControls();
if (this.ReSubmitToken != hf.Value)
return true;
return false;
}
}
/// <summary>
/// 设置操作执行中
/// </summary>
public void SetExcuting()
{
if (this.ReSubmitToken == "0")
this.ReSubmitToken = "1";
else
this.ReSubmitToken = "0";
}
/// <summary>
/// 设置值相等
/// </summary>
public void SetReSubmitValue()
{
hf.Value = this.ReSubmitToken;
}
#endregion