c# - 防止在 ASP.NET 中提交多个表单

标签 c# asp.net asynchronous updatepanel postback

我目前正在寻找一种方法来防止在 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/

相关文章:

c# - 如何更改datagridview中的行颜色

c# - 在 Windows 通用应用程序中调整复选框大小

c# - 如何在 C# 中为 Azure Function App 安装 SharePoint PowerShell 模块

c# - 在 C# 中对 ListView 进行排序导致崩溃

swift - 调用完成处理程序后返回,还是返回完成处理程序参数?

c# - IMGUR 照片上传 POST 请求

asp.net - nginx 和 fastcgi-mono-服务器 : Error running dmcs: Cannot find the specified file

asp.net - 如何显示表中的所有记录 ASP.NET MVC 3

javascript - setTimeout调用堆栈问题

绑定(bind)对象函数时出现 C++ 异步错误