Сообщение сценария не отображается в asp.net - PullRequest
0 голосов
/ 30 марта 2020

У меня странная проблема (для меня, кто не знаком с Asp. net). У меня есть следующие строки кода в кнопке:

     System.Text.StringBuilder oString = new System.Text.StringBuilder();
     oString.AppendLine("alert('WAIT MESSAGE!');");
     ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "ModalPopup", oString.ToString(), true);
     Validation();

Я ожидаю, что когда я нажму кнопку, появится ожидающее сообщение и после щелчка начнется проверка.

Вместо этого происходит проверка ПЕРВЫЙ и сообщение отображается ПОСЛЕ! Почему? Что я сделал не так?

Ответы [ 2 ]

0 голосов
/ 31 марта 2020

Я предлагаю вам использовать OnClientClick атрибут кнопки вместо RegisterClientScriptBlock в этом случае.

<asp:Button Text="Click!" runat="server" OnClientClick="alert('WAIT MESSAGE!');" />

С MSDN :

Используйте свойство OnClientClick, чтобы указать дополнительный клиентский сценарий, который выполняется при возникновении события Click элемента управления Button. Сценарий, который вы указываете для этого свойства, отображается в атрибуте OnClick элемента управления Button в дополнение к предопределенному клиентскому сценарию элемента управления.

Чтобы при нажатии кнопки было показано первое предупреждение, серверный код начнет работать так, как вы ожидаете.

0 голосов
/ 30 марта 2020

Вы, вероятно, запускаете его асинхронно. Взгляните на концепцию здесь Было бы лучше, если бы вы добавили часть ScriptManager.RegisterClientScriptBlock

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...