Использование валидаторов на стороне сервера с модальным диалогом (jquery)? - PullRequest
0 голосов
/ 02 декабря 2010

Существует ли простой способ использовать проверку на стороне сервера с элементами управления проверки ASP.NET в форме, отображаемой в модальном диалоговом окне?Я использую jQuery и SimpleModal (в C #, VS2010, .NET 4.0)

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

Мое решение для проекта, над которым я сейчас работаю, заключается в использовании вызова jQuery ajax для передачи всей формыданные на сервер и вернуть результаты проверки, прежде чем разрешить продолжить публикацию.Но это относительно трудоемко для реализации, и в некоторых ситуациях, с которыми я имею дело, теперь весь код проверки уже существует.

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

Во всяком случае, я попытался поместить содержимое модальной формы в UpdatePanel, черт возьми.На самом деле он выполняет частичную обратную передачу, диалоговое окно остается открытым, но содержимое диалогового окна не обновляется ни при каких изменениях на стороне сервера.Если я закрою и снова открою диалоговое окно на той же странице после тестирования кода проверки, его содержимое на самом деле обновляется, чтобы отразить эти изменения.Очевидно, способ отображения диалога сбивает с толку ASP.NET.Или наоборот.Но это только кажется отрывочным с самого начала.

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

1 Ответ

0 голосов
/ 07 декабря 2010

Два подхода, которые я выбрал:

1) отправка данных через ajax, ответ включает в себя успех: true или false.Если ложь, есть сообщение, которое детализирует проблему.

2) отправьте форму как обычно.Если есть проблема с проверкой, но есть ошибки в скрытом div на странице и напишите JS, чтобы проверить содержимое этого div, когда страница загружается, и при необходимости отобразить предупреждение / ошибку.

...