На самом деле, если вы связываете некоторую функцию JavaScript в OnClientClick
кнопки, тогда приоритет выполнения такой, как показано ниже:
OnClientClick
, тогда Onclick
Вот почему, несмотря на то, что вы сделали так, чтобы кнопка включала false, как указано выше, она не работает, потому что выполняется первое событие onClientClick
.
Итак, для этого решения нужно вызвать эту функцию JavaScript в стороневместо этого ваше событие нажатия кнопки при привязке к OnClientClick
.
См. пример ниже:
//Javascript function
function ShowProgress() {
$("#form1 :input").prop('readonly', true);
var modal = $('<div />');
modal.addClass("modal");
$('body').append(modal);
var loading = $(".loading");
loading.show();
var top = Math.max($(window).height() / 2 - loading[0].offsetHeight / 2, 0);
var left = Math.max($(window).width() / 2 - loading[0].offsetWidth / 2, 0);
loading.css({ top: top, left: left });
}
protected void Button2_Click(object sender, EventArgs e)
{
Button b = (Button)sender;
b.Enabled = false;
// processing goes here
ClientScript.RegisterStartupScript(this.GetType(), "Popup", "ShowPopUp();", true);
}
и кнопку следующим образом:
<asp:Button ID="Button2" runat="server" CssClass="SyncButton1"
Text="Sync With AMS" CausesValidation="true"
OnClick="Button2_Click" Visible="false" />
Я думаю, что это будетРешите вашу проблему, если вы столкнулись с какой-то проблемой, дайте мне знать.