使用更新过程在按钮上加载图像时单击它允许其他按钮单击
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
}
在更新面板中我有 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
}