2012-11-16 53 views
1
<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional"> 
    <ContentTemplate> 

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

    </ContentTemplate> 
</asp:UpdatePanel> 

的想法是,當用戶點擊該按鈕,它被禁用,一個函數被調用,然後在函數結束的按鈕被再次啓用後:的UpdatePanel不更新,直到函數結束

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

但是,只有在doSomething()完成後,按鈕纔會被禁用。如果我註釋掉doSomething(),那麼點擊它時,該按鈕會立即被禁用。

有沒有辦法在函數調用之前禁用按鈕?

回答

0

可以使用的OnClientClick屬性格式

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

的onclick事件不會觸發,如果我添加一個OnClientClick –

0

一兩件事情需要:

  • 定義觸發器的UpdatePanel的
  • 設置按鈕,自動回
+0

它不是poss可以設置一個asp的AutoPostback屬性:Button –

+0

您是否嘗試設置觸發器?或者具有子元素的屬性觸發UpdatePanel? – PCasagrande