2015-09-17 60 views
0

我有一個ASP.NET按鈕,需要1-2秒的服務器端處理。爲了防止多次點擊,我喜歡禁用下面的按鈕:ASP.NET在瀏覽器上啓用禁用按鈕返回

<asp:Button Text="Click Me" runat="server" ID="btnClickMe" OnClick="btnClickMe_Click" UseSubmitBehavior="false" OnClientClick="this.disabled = true;" /> 

protected btnClickMe_Click(object sender, EventArgs e) 
{ 
    Thread.Sleep(2000); // Simulate work 
    Response.Redirect("AnotherPage.aspx"); 
} 

我怎麼能當用戶點擊瀏覽器的返回按鈕,重新啓用的按鈕?

我試圖在Page_Load事件中將按鈕啓用設置爲true,但那不起作用。

+0

http://stackoverflow.com/questions/22481553/refresh- page-on-back-click-mvc-4 – Greg

+0

我正在使用ASP.NET Web表單應用程序,而不是MVC,並且我不想使用JavaScript window.onunload,因爲有其他頁面功能。還有其他建議嗎? –

+0

我做了一個快速測試,我似乎無法重現您的問題。你正在使用哪種瀏覽器? –

回答

0

這對我有效。我加入這個在JavaScript函數的開頭:

$("#btnClickMe").attr("disabled", "disabled"); 

這是對我的Ajax調用的成功或錯誤:

$("#btnClickMe").removeAttr("disabled"); 
+0

我還沒有嘗試過,但我相信這隻會在我運行純粹的客戶端代碼時才起作用,對於這種情況,我會接受它作爲答案。但是,我的按鈕單擊事件在服務器端進行處理。 –

+0

我不知道你是否在使用Ajax,但是我在JavaScript函數的開頭設置了disabled屬性,然後在Ajax調用成功或失敗時刪除它。我正在更新我的答案以反映這一點。 – tcrite

相關問題