Обновление сообщения на ASP.NET ModalPopupExtender - PullRequest
0 голосов
/ 16 июня 2010

У меня есть форма в MS AJAX ModalPopup Extender, которая находится в UpdatePanel (для асинхронной загрузки).Все работает как положено.Есть одна вещь, которую я пытаюсь сделать, но не знаю, как это сделать.

При отправке формы существует проверка на стороне сервера поверх проверки на стороне клиента.Мой вопрос: каков наилучший способ отображения сообщений об ошибках проверки, если таковые имеются?Было бы идеально, если бы сообщения могли быть записаны во всплывающее окно асинхронно, чтобы всплывающее окно все еще было там.

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

Любые идеи и предложения приветствуются.

Джон

Ответы [ 2 ]

2 голосов
/ 17 июня 2010

Прошло некоторое время с тех пор, как я использовал ModalExtender и UpdatePanels, но это возможно.По сути (ржавчина выпадает из головы), у меня внутри метки была установлена ​​метка visible = false.Затем, нажав кнопку Ok, я вызвал функцию в коде, которая обрабатывает логику.Если логика не удалась, я обновил текст метки и установил visible = true.Если логика прошла, я вызвал свойство close () модального типа.В обоих случаях вы должны вызвать updatePanel.update (), чтобы обновить содержимое.Дайте мне посмотреть, смогу ли я найти пример ...

Не совсем то, что я искал, но это может помочь вам встать на правильный путь:

If (logInstance.isNew) Then
    result = logInstance.createNewLogEntry()
    If (result.ToLower = "success") Then
        Response.Redirect("default.aspx?status=1")
    Else
        saveErrorType.InnerHtml = result
        ModalSaveError.Show()
    End If
Else
    result = logInstance.updatePreviousLogEntry(textReasons.Value)
    If (result.ToLower = "success") Then
        Response.Redirect("default.aspx?status=2")
    Else
        saveErrorType.InnerHtml = result
        ModalSaveError.Show()
    End If
End If
1 голос
/ 17 июня 2010

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

После публикации вчера я потратил еще пару часов на это и нашел решение, которое в принципе совпадает с той, что вы описали в своем ответе.

Основная проблема заключалась в том, что я не использую кнопку OK расширителя.Вместо этого я использовал обычную кнопку ссылки, которая вызывает щелчок на стороне сервера.Это событие закрывает всплывающее окно независимо от результата проверки.Поэтому моей целью было оставить всплывающее окно открытым или, по крайней мере, сделать его открытым, а затем добавить к нему любое сообщение об ошибке проверки.

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

Вот и все!

Еще раз спасибо.

...