Диалоговое окно подтверждения времени выполнения ASP.NET - PullRequest
2 голосов
/ 06 июня 2011

Мне нужно спросить пользователя, хочет ли он продолжить операцию (скажем, сохранить операцию).

Итак, после того, как пользователь нажимает кнопку Сохранить, некоторые элементы проверяются на стороне сервера . Если выполняется одно условие, пользователь должен спросить, хочет ли он / она продолжить.

Исходя из ответа пользователя, должна автоматически выполняться обратная передача, возвращающая ответ пользователя на сервер, поэтому сервер теперь будет запрашивать снова. Возможно ли это сделать?

Спасибо.

EDIT

Чтобы быть более конкретным, я хочу это:

  1. Пользователь нажимает кнопку Сохранить. Обратная передача выполняется

  2. Мне нужно провести некоторые проверки / проверки на СТОРОНЕ СЕРВЕРА (это важно!)

  3. В середине постбэка я хочу остановиться, если определенное условие выполнено, и спросить пользователя, действительно ли он / она хочет продолжить.

  4. Если пользователь нажимает Да, мне нужно повторно опубликовать запрос, но теперь мне нужно нести ответ пользователя.

  5. Если это "определенное условие" будет выполнено снова, я просто проигнорирую его, потому что пользователь этого хотел.

Так что решение добавить диалоговое окно подтверждения прямо при нажатии кнопки не вариант, потому что проверки не просты и требуют каких-то сложных вещей (это невозможно сделать на стороне клиента).

Ajax / JS / Telerik, все в порядке.

Ответы [ 3 ]

1 голос
/ 06 июня 2011

Вы можете использовать

btnExample.Attributes.Add("onclick", "javascript:return confirm('continue?')";

только один из вариантов ...

РЕДАКТИРОВАТЬ:

для ваших нужд вы захотите использовать AJAX, вызовите методна сервере и при обратном вызове откройте окно подтверждения.

2nd Edit:

если работа на стороне сервера не долгая, я бы использовал AJAX.AJAX работает асинхронно, и вам нужна синхронная процедура, верно?

вместо отправки назад, вызовите метод AJAX из javascript, который будет выглядеть примерно так:

Service.ProccessRequest(data, OnSucceedJSFunction, OnFailJSFunction);

таким образом, когдаметод на стороне сервера завершает OnSucceedJSFunction на JS будет вызван.в этой функции вы можете сделать что-то вроде

if (confirm('are you sure?'))
{
call another server method...
}

, если вам нужно повторно отправить данные в тот же метод на стороне сервера или в другой метод на стороне сервера, вы можете сделать это снова и вызвать другую jS-функцию OnSucceed.

Хотя я не уверен в том, что вы хотите, чтобы произошло в конце всей процедуры ...

0 голосов
/ 06 июня 2011

Если пользователи, не являющиеся JS, не беспокоят вас, то что-то вроде jQuery или AjaxControlToolkit может предоставить модальное всплывающее решение.

Если вы в сознании или, возможно, работаете в компании, которая должна предоставлять решения не-JS, тогдаВы можете отправить пользователя на другую страницу с запросом подтверждения, вы можете перенести любую соответствующую информацию либо в Сеанс, либо в Строку запроса.

0 голосов
/ 06 июня 2011

Быстро и грязно использовать javascript confirm, множество примеров того, как избежать обратной передачи, когда пользователь нажимает кнопку «Отмена» или «ОК».

Если вам нужен лучший контроль пользовательского интерфейса, безусловно, вы можете использовать javascript / jqueryили что угодно, чтобы показать красивое диалоговое окно и предотвратить обратную передачу или вызвать ее.

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