2017-06-16 13 views
-2

リンクボタンlbUpVoteUndoをクリックすると、10秒間無効になります。私はC#のコードビハインドでそれを試してみました。同じことをする別の方法がありますか?10秒後にLinkBut​​tonを有効にする方法Asp.net?

protected void lbUpVoteUndo_Click(object sender, EventArgs e) 
{ 
    lbUpVoteUndo.Enabled = false; 

    if(/* check for 10 seconds */) 
    { 
     lbUpVoteUndo.Enabled = true; 
    } 
} 
+0

私はこれがWebForms、siあなたは指定していません。ページをロードしようとすると、10秒後にボタンが有効になります。これはサーバーコードでは不可能です。投稿したコードは実行に10秒待つと、ボタンが有効または無効になった状態でページが読み込まれます。 – Seano666

+0

'WebForms'とは関係ありません。私がクリックするのは簡単な 'linkbutton'です。 – AsifAli72090

+3

できればjavascriptでこれを行うことをお勧めします。それ以外の場合は、UpdatePanelでそのボタンをラップする必要があります。実装されているかどうかわかりません。 –

答えて

2

Javascriptでこれを行うことができます。この2行のコードは、あなたのためにそれを行います。

function DisableFor10Seconds() { 
     document.getElementById("<% lbUpVoteUndo.ClientID %>").disabled = true; 
     setTimeout(function(){document.getElementById("<% lbUpVoteUndo.ClientID %>").disabled = false;},10000); 
} 

私は、.NET Webフォームではなく、あなたのコントロールで働いていたので、それはしばらくの間をされている私は、あなたがこのような何か行うことができます信じている:私は「

<asp:LinkButton ID="lbUpVoteUndo" OnClientClick="Disablefor10Seconds();" /> 

を10秒間待つことを期待していますか?たとえば、ユーザーがリフレッシュをヒットした場合、ボタンは再び有効になります。何が起きても10秒間無効にしたければ、セッションまたはキャッシュにフラグを格納して、クライアント側の要素をタイマーで設定する必要があります。

+0

「DisableFor10Seconds」機能でエラーが表示されます – AsifAli72090

+0

何がエラーですか? –

+0

要素 'Style'に終了タグがありませんerroe – AsifAli72090

1

使用javascript関数 - HTMLで

、あなたのボタンコントロールとコードの下に追加 - .CSのcdoeで

UseSubmitBehavior="false" OnClientClick="this.disabled='true'; this.value='Please wait...';" 

を、あなたのボタンクリックイベントでこれを使用してください -

System.Threading.Thread.Sleep(10000); 

ありがとう:)

+0

私はあなたが.aspxページを持っていると思うし、サーバー側のコードは.csファイルを意味する。右 ? –

+0

はい、 '.cs'ファイルで扱いたいと思います。 – AsifAli72090

+1

UseSubmitBehavior = "false"をボタンの使用することができます。このように - UseSubmitBehavior = "false" OnClientClick = "this.disabled = 'true'; this.value = 'お待ちください...';" .csコードでは、コードThread.Sleep(3000)を書き込みます。 –

関連する問題