Простое модальное закрытие, когда я использую проверку на стороне сервера CustomValidator в ASP.Net

Я создаю приложение asp.net с сеткой внутри панели обновлений.

В этой сетке я добавил поле команды, которое вызывает событие сервера для заполнения полей в моем модальном всплывающем разделе div hiden, показывает модальное окно для пользователя и ждет.

Пользователь редактирует поля и нажимает «Сохранить».

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

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

Но ... (потому что без a, но мне не придется писать этот вопрос)

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

Я использую CustomValidator, потому что для этой проверки требуется проверка базы данных в реальном времени.

Моя проблема: как я могу сделать эту проверку на стороне сервера, чтобы модальное всплывающее окно оставалось открытым, если оно возвращает false (e.isvalid = false)?

Если это невозможно ... я попытался вызвать: ScriptManager.RegisterStartupScript ((Control) sender, sender.GetType (), Guid.NewGuid (). ToString (), "$ ('# basic-modal-content-Province ') .modal ({appendTo:' form ', persist: true}); ", true);

но это не сработало -> он говорит, что $ не определен

Я использую http://www.ericmmartin.com/projects/simplemodal/

Я совершенно новичок в JQuery и AJAX, спасибо за вашу помощь

Стеф


person Stephane    schedule 06.11.2011    source источник
comment
хммм ... Я не ожидал, что это будет большой вопрос ... более 30 чтений, и никто не дает представления о проблеме. Если вы не представляете, что мне делать, чтобы это исправить, есть ли у вас представление о том, что я могу сделать в качестве временного решения?   -  person Stephane    schedule 20.11.2011


Ответы (1)


Я бы использовал настраиваемый валидатор с модальным расширителем AJAX, а затем, как только вы отправите данные в модальной проверке, чтобы увидеть, есть ли ошибки, проверив, действительна ли страница, если недействительна, то сделайте показ расширителя с помощью функции show () - например, с С #:

protected void btnExampleButton_Click(object sender, EventArgs e)
{
    if (Page.IsValid)
    {
        //Logic to submit if valid
    }
    else
    {
        //If there are errors then keep the modal open
        btnOpenModal_ModalPopupExtender.Show();
    }
}

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

person Seninoniwashi    schedule 05.03.2012