2016-08-31 55 views
0

我的一些用戶報告了我的問題,ASP.NET應用程序掛起並不會繼續在IE中(在Chrome,Firefox,Edge,Safari中 - 它是加工!)。問題是,當用戶點擊按鈕時,它應該在內容加載時被禁用,所以我使用OnClientClick禁用按鈕,然後繼續使用C#背景中的OnClick函數。但只有在IE瀏覽器中不起作用!該按鈕被禁用,但之後沒有任何反應,應用程序不會繼續。IE問題:禁用linkbutton onclientclick並繼續執行onclick功能

我嘗試禁用C#中的按鈕,從jquery,從函數...但它總是一樣的!

任何想法?

<asp:LinkButton ID="GoButton" runat="server" Text="<div></div>" CssClass="Go" OnClick="GoButton_Click" OnClientClick="return disablebutton(this);" /> 


<script> 
    function disablebutton(btn) { 
     $(btn).attr("disabled", "disabled"); 
     return true; } 
</script> 

回答

1

要禁用具有Enabled="false"一個LinkBut​​ton,ASP.NET移除錨定元件的href屬性。爲了使發生回發,您可以用setTimeout異步刪除屬性:

function disablebutton(btn) { 
    setTimeout(function() { btn.removeAttribute('href'); }, 10); 
    return true; 
} 

確保EnabledOnClick屬性不會在後臺代碼修改,使LinkBut​​ton的啓用和正常工作回傳後。

+0

It's像做考試的應用程序。點擊按鈕後,應該禁用它,並且應該加載問題。當我回答問題時,由於回發(後面的功能),該按鈕再次啓用。當我使用你的建議時,它只能在第一次使用,之後它被禁用,不能再次使用。 – user5618385

+0

我不明白你的意思是「它只能第一次使用」。回發後,LinkBut​​ton是啓用還是禁用? – ConnorsFan

+0

回發之後,它再次啓用,這就是爲什麼它在其他瀏覽器上工作,因爲我禁用了它,但是當它是新問題的時候它又被啓用了。 「僅限第一次」 - 我登錄後,點擊按鈕即可獲得第一個問題,並獲得第一個問題!但之後,我不能再點擊它了,因爲我猜不知其他點擊事件是不是被解僱了?該按鈕只能被禁用,並保持這種狀態。 – user5618385

0

而不是試圖禁用它,你可以刪除它的點擊事件。

試試這個:

function disablebutton(btn) { 
    $(btn).bind('click', false);    
    return true; 
} 
+0

與我上面描述的相同的結果:( – user5618385

+0

您的頁面是否使用更新面板? – Santi