UpdatePanel直到功能完成后才更新

时间:2012-11-16 13:43:17

标签: c# ajax asp.net-ajax

<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(),那么当我点击它时,该按钮会立即被禁用。

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

2 个答案:

答案 0 :(得分:0)

您可以使用OnClientClick propery

<asp:Button ID="btnBackup" runat="server" Text="Backup"  OnClientClick = "this.disabled = true;" onclick="btnBackup_Click" />

答案 1 :(得分:0)

需要做两件事之一:

  • 定义UpdatePanel的触发器
  • 将按钮设置为AutoPostback