1
<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
    <ContentTemplate>

        <asp:Button ID="btnBackup" runat="server" Text="Backup" 
            onclick="btnBackup_Click" />

    </ContentTemplate>
</asp:UpdatePanel>

这个想法是,当用户单击按钮时,它被禁用,调用一个函数,然后在函数结束时再次启用按钮:

protected void btnBackup_Click(object sender, EventArgs e)
{
    btnBackup.Enabled = false;
    UpdatePanel1.Update();
    doSomething();
}

但是,在 doSomething() 完成之前,该按钮不会被禁用。如果我注释掉 doSomething(),那么当我单击该按钮时,它会立即被禁用。

有没有办法在函数调用之前禁用按钮?

4

2 回答 2

0

您可以使用 OnClientClick 属性

<asp:Button ID="btnBackup" runat="server" Text="Backup"  OnClientClick = "this.disabled = true;" onclick="btnBackup_Click" />
于 2012-11-16T13:49:27.883 回答
0

需要两件事之一:

  • 定义 UpdatePanel 的触发器
  • 将按钮设置为 AutoPostback
于 2012-11-16T14:09:27.397 回答