4

ASP.NET コントロールのセットがあります。

<asp:LinkButton ID="Find"
    ClientIDMode="Static"
    runat="server"
    CausesValidation="true"
    OnClientClick="$('#Find').attr('disabled', 'disabled'); $('#SearchingLabel').show();">
    <span>Search</span>
</asp:LinkButton>
<asp:Label ID="SearchingLabel"
    ClientIDMode="Static"
    runat="server"
    Text="Searching..."
    style="display: none;" />

ご覧のとおり、ボタンをOnClientClick無効にして表示できるようにを消費しています(そして、JavaScriptはエラーなしで動作します)。かなり基本的なもの。FindSearchingLabel

さらに、CausesValidation属性を囲むように、ページに検証コントロールがありますが、現在検証エラーはありません。

falseただし、 JavaScript から戻っていないにもかかわらず、ページが投稿されていません。私も試みましreturn true;たが、何も変わりませんでした(それほど驚くべきことではありませんが、試してみる価値はありました)。

フィードバックをお待ちしております。

4

2 に答える 2

8

ポストバックの前に、ボタンを無効にしているようです。

無効にする部分なしでページ/スクリプトを試すことができます:

OnClientClick="$('#SearchingLabel').show();"

これが機能する場合は、少し遅れて試してください。

OnClientClick="setTimeout(function() { $('#Find').attr('disabled', 'disabled'); }, 100); $('#SearchingLabel').show();"
于 2013-01-07T12:32:42.613 に答える
0

このjsコードをオンロードしてみてください

Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(BeginRequest);
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequest);
function BeginRequest(sender, e) {
    e.get_postBackElement().disabled = true;
    // or your code

}
function EndRequest(sender, e) {
   .......
}
于 2013-01-07T12:49:41.883 に答える