chetna2810 Ответов: 2

Окно сообщения подтверждения на стороне сервера с ответом


Всем Привет,
Что я хочу сделать это
1. я нажимаю кнопку.
2.Выполнить некоторый код на событие btn_Click.
3.At определенное условие в коде (например, если (a==b)), откройте окно сообщения подтверждения, не продолжайте дальше, пока я не нажму кнопку Ok/Cancel в окне подтверждения.

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

ClientScript.RegisterStartupScript (это.Метод gettype(), "сценарий", "Подтвердить('вы действительно хотите продолжить?');", правда);

но как я могу получить ответ и выполнить дальше либо да, либо нет?

Kornfeld Eliyahu Peter

Как вы обрабатываете возвращаемое значение из confirm()?

chetna2810

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

Kornfeld Eliyahu Peter

Мне кажется, что у вас сложилось сильное впечатление, что эта строка кода будет работать на стороне сервера - совершенно неправильно...Он будет отправлен как часть ответа клиенту и будет работать там...Добавьте такой код:
var res = confirm ("Привет");
if (res) {} else {}

chetna2810

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

Kornfeld Eliyahu Peter

Не могли бы Вы перевести это на английский?

chetna2810

Сэр, я хочу изменить несколько вещей, таких как обновление, зависящее от ответа окна подтверждения.

Kornfeld Eliyahu Peter

Это ничего не объясняет...Тем не менее, это подтверждение должно быть сделано на клиенте и должно быть сделано правильно...

chetna2810

Да, подтверждение должно быть сделано на стороне клиента

Kornfeld Eliyahu Peter

И что? Сделайте это правильно и обработайте результат confirm ()!!!

2 Ответов

Рейтинг:
0

OriginalGriff

Это так не работает.
Серверный код собирает HTML-код и по завершении отправляет его клиенту. Затем серверное приложение фактически полностью прекращает работу до тех пор, пока не получит сигнал от клиента о том, что пользователь взаимодействовал с ним. Затем он снова загружает всю страницу (я игнорирую Ajax, который здесь использует некоторые "короткие пути") и следует инструкциям.

Вы не можете отправить сообщение клиенту в середине сборки HTML и заставить серверный код ждать его ответа, прежде чем продолжить выполнение - это просто не работает так. Это только для приложений с одной машиной, где вы можете использовать MessageBox. И MessageBox не будет работать - хотя это может показаться в разработке - потому что в производстве сервер и клиент являются отдельными машинами, а код C# всегда выполняется только на сервере: поэтому MessageBox появится на сервере, где клиент не сможет его прочитать.
Код Javascript запускается на клиенте, поэтому вы, вероятно, захотите сделать свое подтверждение там, а не на C#: Окно подтверждения() метод[^]