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

Posted

技术标签:

【中文标题】在使用更新过程在按钮单击时加载图像时,它允许单击其他按钮【英文标题】:while loading image on button click using update process it allows other buttons click 【发布时间】:2020-06-19 14:20:32 【问题描述】:

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

每次点击按钮时,文本将被存储到一个变量中,如下所示:

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

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

如何预防?

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

【问题讨论】:

就这样Button2.Enabled = false;? 点击按钮...?如果是,则在单击 Button1 并存储文本后,我希望启用其余按钮。 @SelimYıldız 对了,你是不是也想在点击功能完成后设置所有这些按钮的使能,对吧? 是的@SelimYıldız 好的,现在说得通了。我添加了一个答案,请检查。 【参考方案1】:

经过我们在 cmets 中的讨论,如果我理解正确,您可以在用户单击客户端时使用 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

【讨论】:

以上是关于在使用更新过程在按钮单击时加载图像时,它允许单击其他按钮的主要内容,如果未能解决你的问题,请参考以下文章

Colorbox 和 pinterest 按钮 URL 更新

在 jqGrid 列中加载图像

如何单击图像按钮并将其显示在 Android Studio 的新页面中?

JavaScript:单击按钮后在 div 中加载图像

单击按钮时如何重新加载页面?

单击时将图像添加到屏幕并允许其可拖动/可旋转