2

imagebuttonsクリックイベントのコードビハインドを介してフォームデータをデータベースに送信するために使用されるimageButtonを含むAsp.net(Ver4)Webページがあります。コード ビハインドでは、response.redirect を使用してお礼のページに移動しています。これは、コード ビハインド ルーチンの最後の行です。DB が少し遅いため、ページがリダイレクトされるまでクリック イベントを無効にしたい場合があります。私はjqueryでこれをやろうとしています。ボタンを無効にして無効に見えるようにすることはできましたが、コード ビハインドがまったく起動しません。

これは私が使用しているJQueryです

function test() {
    $("#ImageButton1").attr("disabled", "disabled").css('opacity',' 0.5');
}

これは、ボタンの aspx コードです。

<div class="button">
      <asp:ImageButton ID="ImageButton1" runat="server" Height="28px"
           OnClientClick="test();"
           onclick="ImageButton1_Click" 
           ImageUrl="media/finishbutton.jpg" 
           style="margin-top: 0px" Width="97px" />
</div>
4

4 に答える 4

2

最も簡単な解決策は、クリック イベントがトリガーされてから少し後に要素を無効にすることです。例えば:

 function test() {
    setTimeout(function () { $("#<%=ImageButton1.ClientID %>").attr("disabled", "disabled").css('opacity', ' 0.5'); }, 10);
}
于 2012-08-20T21:29:47.137 に答える
1

これを試して:

 function test() {
$("#<%=ImageButton1.ClientID%>").attr("disabled", "disabled").css('opacity',' 0.5');
//$("#ImageButton1").css('opacity', ' 0.5');

}

そしてaspxで

 <div class="button">
          <asp:ImageButton ID="ImageButton1" runat="server" Height="28px" OnClientClick="javascript:test();"
              onclick="ImageButton1_Click" 
              ImageUrl="media/finishbutton.jpg" style="margin-top: 0px" Width="97px" />
        </div>
于 2012-08-20T21:17:51.810 に答える
0

関数return true;の最後に追加してみてくださいtest()

于 2012-08-20T21:12:35.693 に答える
0

beforeAsyncPostBack を追加して、hereのようにボタンを無効にするか、クリック ハンドラーから true を返すことができます。また、サーバーが理解する要素 ID だけでなく、clientID を使用してボタンを無効にすることもできます。

于 2012-08-20T21:19:45.777 に答える