Кажется, это очень распространенная проблема.
Обходной путь:
Сначала проверьте страницу, затем наберите confirm
, как показано здесь и здесь .
Это имеет недостаток: дважды вызывать проверку - один раз в вашем коде и один раз в сгенерированном коде при отправке onclick
.
Как заставить это работать должным образом, т. Е. Сначала проверить (и только один раз) страницу, а затем показать поле confirm
, я пока не знаю.
Редактировать: Вот полезное предложение:
Что ASP.NET делает за кулисами
когда существуют средства проверки правильности, это добавить
автоматически сгенерированное событие onClick для
каждая кнопка. Это событие OnClick будет
заменить пользовательское событие OnClick. Так чтобы
Преодолев это, я сделал следующее:
- add CausesValidation = False
- добавлен код Validate () и IsValid к событию onClick
за страницей, чтобы имитировать сейчас
отсутствует автоматически сгенерированный код проверки
за кнопкой.
Редактировать 2: полный пример
<asp:Button ID="btnSubmit" runat="server" Text="Submit" OnClientClick="if (Page_ClientValidate()){ return confirm('Do you want to submit this page?')}" CausesValidation="false" />