我有一组 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
,这样我就可以禁用 Find
按钮并显示 SearchingLabel
(并且 JavaScript 可以正常工作顺便说一句)。非常基本的东西。
此外,围绕 CausesValidation
属性,我在页面上确实有验证控件,但当前没有验证错误。
但是,即使我没有从 JavaScript 返回 false
,页面也没有回发。我什至尝试过 return true;
但这并没有改变任何东西(并不是那么令人惊讶,但值得一试)。
期待您的反馈!
最佳答案
看来您在回发之前禁用了按钮。
您可以在没有禁用部分的情况下尝试您的页面/脚本:
OnClientClick="$('#SearchingLabel').show();"
如果可行,稍等片刻试试:
OnClientClick="setTimeout(function() { $('#Find').attr('disabled', 'disabled'); }, 100); $('#SearchingLabel').show();"
关于c# - OnClientClick 正在停止回发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14195881/