ManiLancer Ответов: 1

Как использовать sweet alert в ASP


Я использую
SweetAlert2
в моем проекте после нажатия кнопки предупреждение было отображено и внезапно закрыто.

Что я уже пробовал:

$(document).ready(function () {
    $("#Button1").click(function () {
       swal({
          title: 'Are you sure?',
          text: "You won't be able to revert this!",
          type: 'warning',
          showCancelButton: true,
          confirmButtonColor: '#3085d6',
          cancelButtonColor: '#d33',
          confirmButtonText: 'Yes, delete it!',
          cancelButtonText: 'No, cancel!',
          confirmButtonClass: 'btn btn-success',
          cancelButtonClass: 'btn btn-danger',
          buttonsStyling: false
        }).then(function () {
          swal(
            'Deleted!',
            'Your file has been deleted.',
            'success'
          )
        }, function (dismiss) {
          // dismiss can be 'cancel', 'overlay',
          // 'close', and 'timer'
          if (dismiss === 'cancel') {
            swal(
              'Cancelled',
              'Your imaginary file is safe :)',
              'error'
            )
          }
        });
    });
});


<asp:Button ID="Button1" runat="server" Text="Button" />

1 Ответов

Рейтинг:
8

F-ES Sitecore

Вам нужно остановить продолжение события нажатия кнопки, иначе оно будет продолжать отправлять вашу форму, что приведет к обновлению страницы, которую вы видите.

    $("#Button1").click(function (e) { // amend this
e.preventDefault(); // add this
swal({
    title: 'Are you sure?',


ManiLancer

это решение работает нормально, но как я могу использовать кнопку asp в sweet alert. я хочу, чтобы кнопка asp была внутри sweet alert??

я прохожу через другое решение проблемы кнопки, но я не могу понять, можете ли вы мне помочь..

F-ES Sitecore

Вы хотите сказать, что вам нужна кнопка asp:в предупреждающем сообщении? Я не думаю, что ты сможешь это сделать. Вероятно, вы могли бы добавить обычную кнопку "Ввод", поскольку сообщение поддерживает html, но вы создаете html для сообщения на лету и для работы кнопки на стороне сервера .сеть должна знать об этом до того, как страница будет отрисована, так как ей нужно установить вещи в состоянии просмотра и так далее. Однако вы, вероятно, можете сделать то, что вам нужно, используя существующую кнопку обработки событий, даже если вы заставите эти события отправлять формы и так далее.

ManiLancer

хорошо, но e. preventDefault (); это решение не работает с главной страницей, обычная html-кнопка работает нормально, но кнопка asp-нет.. что делать.

F-ES Sitecore

Настоящий кодекс

$("#Кнопки button1")

находит элемент с идентификатором "Button1". На вашем сайте с главной страницей просмотрите источник страницы (помните, что jQuery запускается из источника страницы, а не из вашего файла aspx) и посмотрите, можете ли вы найти элемент с идентификатором Button1. Когда вы используете мастер страницы идентификаторы ваших элементов изменяются поэтому вам нужно сделать что то вроде этого

$("#<%=Button1.ClientID%>")

это гарантирует, что js ссылается на фактический идентификатор Button1, как он появляется в источнике страницы. Обратите внимание, что это будет работать только в том случае, если ваш js находится в том же файле, что и ваш Button1.

ManiLancer

Большое вам спасибо, все работает нормально..