使用更新过程在按钮上加载图像时单击它允许其他按钮单击

while loading image on button click using update process it allows other buttons click

在更新面板中我有 40 个按钮:Button1、Button2、Button3 等

每次单击按钮时,文本将存储到如下变量中:

protected void Button1_Click(object sender, EventArgs e)
    {
        string text1="You clicked button1";
    }

当我单击 Button1 时,updateprocess 中的 ajax gif 将启动,但同时它允许单击其他按钮。

如何预防?

除了使用 updateprocess,还有其他方法吗?

经过我们在评论中的讨论,如果我对您的理解正确,您可以使用 OnClientClick 在用户单击客户端时禁用按钮。单击功能完成后,您可以从服务器端启用所有这些按钮。

客户端:

<script>
    function DisableButtons() {
        $("#<%=btn1.ClientID %>").attr('disabled', true);
        $("#<%=btn2.ClientID %>").attr('disabled', true);
        //other buttons
    }

</script>

<asp:Button ID="btn1" Text="Button 1" runat="server" OnClick="btn1_Click" OnClientClick="DisableButtons();"  UseSubmitBehavior="false" />
<asp:Button ID="btn2" Text="Button 2" runat="server" OnClick="btn2_Click" OnClientClick="DisableButtons();"  UseSubmitBehavior="false"  />
<%--Other buttons--%>

请注意,您还需要向按钮添加 UseSubmitBehavior="false"

服务器端:

protected void btn1_Click(object sender, EventArgs e)
{
    //other processes
    SetButtonsEnable();
}

protected void SetButtonsEnable()
{
    btn1.Attributes.Remove("disabled");
    btn2.Attributes.Remove("disabled");
    //other buttons
}