我目前正在寻找一种方法来防止在 ASP.NET 中提交多个表单(即用户多次单击提交按钮,导致 OnClick-Event 也被触发多次)。
目前,我是这样做的:
protected override void OnLoad(EventArgs e)
{
base.OnLoad(e);
Page.ClientScript.RegisterOnSubmitStatement(GetType(), "ServerForm",
"if (this.submitted) return false; this.submitted = true; return true;");
}
这就像同步回发的魅力一样——“已提交”值将在每次回发后重置,并防止表单在同一次运行中多次提交——但是,此方法不适用于 AsyncPostbacks,即UpdatePanel,所以现在我正在寻找一个想法来实现这一点,而不必在单击按钮后通过 JS 禁用和启用每个按钮。
谢谢,
丹尼斯
最佳答案
您可以在 javascript 中使用 Page.get_isInAsyncPostBack() 来检查异步请求的状态。
有关更多信息,请参阅此链接: http://ranaictiu-technicalblog.blogspot.com/2009/03/prevent-concurrent-asynchronous.html
关于c# - 防止在 ASP.NET 中提交多个表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9632620/