Как сделать простое да / нет всплывающее окно в ASP.NET, которые возвращают результат обратно в мой C#?
С ASP.NET, как я могу запросить у пользователя вопрос "да / нет" и получить результат обратно в мой.ascx?
До сих пор я могу открыть диалог подтверждения с использованием Javascript, но я не могу вернуть значение. Но я не знаю, правильный ли это подход.
8 ответов
Вы можете использовать стандартный JavaScript confirm()
функция для показа всплывающих окон и выполнения Post Back в случае Да или Нет. Например:
if (confirm('Question')) {
__doPostBack('', 'Yes_clicked');
} else {
__doPostBack('', 'No_clicked')
}
Затем на сервере в Page_Load()
метод сделать:
if (IsPostBack)
{
var result = Request.Params["__EVENTARGUMENT"];
}
Вы также можете сделать это асинхронно, указав первый параметр __doPostBack()
функционировать как идентификатор любой панели обновления.
Добавить это в голову источника
function verify_Edit() { if (verify ("Вы действительно хотите редактировать?")==true) return true; иначе вернуть ложь; }называть это так
Это не очень хорошая практика для этого. Вы можете получить подтверждение, используя javascript и результат обратной или обратной связи на сервер.
но если вы хотите сделать это, это поможет вам:
Простое управление сервером ASP.NET: окно сообщения и окно подтверждения
Если вы настаиваете на использовании веб-форм, другим решением может быть комплект управления AJAX. Просто создайте ModalPopup и попросите подтвердить кнопки внутри этого.
Подробнее читайте здесь: http://www.asp.net/ajax/ajaxcontroltoolkit/Samples/ModalPopup/ModalPopup.aspx
Я использую это. Насколько я знаю, это предотвращает выполнение остальной части события кнопки.
btnMyButton.Attributes.Add("onClick", "return confirm('Are you really sure?')");
Другой вариант - показать да / нет:
<script>
function AlertFunction() {
if (confirm('Are you sure you want to save this thing into the database?')) {
$('#ConfirmMessageResponse').val('Yes');
} else {
$('#ConfirmMessageResponse').val('No');
}
}
</script>
обрабатывать это со стороны.net:
string confirmValue = ConfirmMessageResponse.Value;
if (confirmValue == "Yes")
{...}
Вам нужно использовать ajax или сделать обратную передачу на сервер. Ваш код C# на стороне сервера, а javascript на стороне клиента. Если вы используете расширения ajax для asp .net, вы можете использовать методы страницы javascript:
PageMethods.YourMethod(confirm('your text'), OnSuccess, OnFailure);
строка confirmValue = ConfirmMessageResponse.Value; показывает ошибку в этой строке при использовании на стороне .net