Использование окна сообщений «Да/Нет» в панели обновлений AJAX

StackOverflow https://stackoverflow.com/questions/867256

Вопрос

У меня есть требование: я запрашиваю у пользователя подтверждение, а также показываю сообщения.

Программисты, использованные для этого, были из среды Windows Forms.Поэтому мы использовали MsgBox в каждом уголке.Даже в части бизнес-логики они использовали ящики сообщений, которые требуют подтверждения стиля Да/Нет от пользователя.

Когда мы протестировали сайт с удаленного компьютера, мы обнаружили, что он выдает ошибку использования DefaultDesktopOnly/ServiceNotification.Но при тестировании мы обнаружили, что это полностью отличается от того, что мы искали.

Теперь мое требование: в коде отображается окно подтверждения, например «Удалить запись» «да нет», и на основании ответа мы предпринимаем действие.

Это нужно сделать с помощью updatepanel.

Это было полезно?

Решение

Поскольку вы используете этот код в нескольких местах, я предлагаю вам создать собственный элемент управления, который принимает ваше сообщение и отображает панель «Обновить» с кнопками «Сообщение» и «Да/Нет».

Внутренне установите какое-то значение для да, нет, отмены...так что вы получите что-то вроде MessageBox.

Другие советы

Обновлять панель или нет, вам придется прикрепить какой-нибудь javascript, который будет вызывать confirm() функция JavaScript.На основании этого результата вы отменяете поведение ссылки/кнопки по умолчанию в javascript...

Это даст вам возможность почесать голову для начала:
http://www.dotnetfunda.com/tutorials/ajax/updatepanel.aspx

Это не совсем вопрос, а требование.

В любом случае ...MessageBox — это функция Windows, а не функция HTML или браузера.Теперь вы можете имитировать это одним из двух способов: через JavaScript. подтверждать функцию или с помощью кнопок Да/Нет и соответствующего события.

Учитывая, что ваши требования связаны с чем-то, что работает на панели обновлений, я предполагаю, что подключение событий JavaScript вручную для этого не будет для вас удобным, поэтому я бы предложил asp:Panel внутри UpdatePanel, который имеет кнопки «да» и «нет» с привязанными к ним событиями на стороне сервера.В логике UpdatePanel покажите это, когда вам нужно подтверждение, и скройте все остальное, действуйте соответствующим образом.

Если вы хотите выполнить подтверждение на стороне сервера, вам придется столкнуться с более сложной генерацией кода.Прежде всего, у вас будет два Просмотры.На первом есть ссылка/кнопка удалить но на самом деле это будет просто обратная передача ко второму представлению, которое отобразит подтверждение форма с да/нет.В этой форме ваш да кнопка на самом деле будет вашей удалить действие...

Но я бы все равно выбрал гибрид (особенно если речь идет о сетке) javascript и серверной части (поскольку alert() и confirm() являются злом с точки зрения пользовательского опыта):

  1. у вас есть кнопка ссылки удалить
  2. когда пользователь нажимает на него, вы заменяете этот элемент управления элементом div, который отображает две кнопки ссылок да/нет
  3. отправить постбэк с одним из двух

Приложение

  • Нет кнопка ссылки может быть просто фиктивной, чтобы скрыть это подтверждение и отобразить удалить еще раз - это означает, что никакого путешествия по серверу туда и обратно не будет.
  • вы могли бы даже создать пользовательский элемент управления, имитирующий это сложный удалить поведение ссылки, чтобы сделать ее многоразовой для всего приложения.
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top