2016-08-31 11 views
0

私のユーザーの中には、ASP.NETアプリケーションがハングアウトし、IE(Chrome、Firefox、Edge、Safariではワーキング!)。問題は、ユーザーがボタンをクリックすると、コンテンツがロードされている間は無効にする必要があるため、OnClientClickでボタンを無効にしてから、C#バックグラウンドでOnClick関数を続行することです。しかし、IEでのみ動作していません!ボタンは無効になっていますが、その後も何も起こらず、アプリケーションは続行されません。IEの問題:linkclutton onclientclickを無効にしてonclick関数を実行しています

私はC#、jquery、関数からボタンを無効にしようとしました...しかし、それは常に同じです!

アイデア? Enabled="false"を持ってLinkBut​​tonコントロールを無効にする

<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

、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

関連する問題