2012-03-15 61 views
0

我的ASP.NET web表單頁面具有以下ASP標記(與其他控件剝離出來)的工作後:禁用的LinkBut​​ton在UpdatePanel的第一次點擊

<asp:UpdatePanel ID="updatePanel1" runat="server"> 
    <ContentTemplate> 
     <asp:LinkButton ID="lnkbtnPreviousTop" OnClick="LinkButtonPrevious_Click" 
      Text="Previous" runat="server"> 
     </asp:LinkButton> 
    </ContentTemplate> 
</asp:UpdatePanel> 

現在,如果你點擊這個LinkBut​​ton的多次,服務器端的LinkButtonPrevious_Click事件處理程序會觸發點擊鏈接的次數。我怎樣才能讓第一次點擊後禁用lnkbtnPreviousTop LinkBut​​ton,但事件處理程序仍會觸發一次並刷新UpdatePanel?

我曾嘗試將this.disabled = true;添加到OnClick屬性中,但事件處理程序代碼永遠不會被擊中。

回答

1

只需直接調用回發在onclick,是這樣的:

lnkbtnPreviousTop.Attributes.Add("onclick", "this.disabled=true;" + Page.ClientScript.GetPostBackEventReference(lnkbtnPreviousTop, "").ToString()); 
+1

或代替按鈕設置爲禁用,你可以改變的按鈕樣式,使其隱藏。 – javram 2012-03-16 00:05:23

+0

我曾嘗試按照您的建議添加onclick屬性;但是它導致事件處理程序每​​次點擊觸發兩次。我放棄了這種方法,基本上遵循了操縱風格的第二條建議。 – 2012-03-16 17:40:27

+0

很酷。很高興聽到這種幫助。 – javram 2012-03-16 21:12:08

相關問題