Закрытие Simplemodal, когда я использую проверку на стороне сервера CustomValidator в ASP.Net - PullRequest
0 голосов
/ 06 ноября 2011

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

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

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

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

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

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

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

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

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

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

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

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

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

Steph

1 Ответ

0 голосов
/ 05 марта 2012

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

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();
    }
}

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

...