2011-01-17 1 views
3

Я работаю над веб-формой с различными элементами управления. В зависимости от ввода пользователя я показываю/скрываю (используя функции show()/hide() JQuery) бит GUI. Однако, если форма отправлена ​​назад и не прошла проверку, я хочу, чтобы GUI оставался в том же состоянии, что и раньше, а не возвращался в состояние первой загрузки. Очевидно, что элементы управления ASP.Net сохраняют состояние, но у меня есть контейнеры HTML, которые являются чистыми объектами на стороне клиента.JQuery/ASP.Net - Как поддерживать состояние скрытых элементов пользовательского интерфейса через обратные вызовы?

В попытке разработать решение, я считаю себя по направлению к мутным (и труднодоступным в отладку) царств скрытой полой формы - более напоминающих моей предварительный JQuery работы, чем что-либо 21-го века :-(

Может ли кто-нибудь предложить лучший способ ...

+0

Вы рассматривали обработку валидации и обратной передачи (то есть взаимодействие с сервером) на стороне клиента, а также через ajax? – ScottE

+0

Почему вы не отправляете с помощью AJAX? – SLaks

+0

@ScottE @SLaks - спасибо за сообщение. Устаревший код и ограниченный временем, поэтому не хватайтесь за такие радикальные капитальные ремонты, я боюсь :-( – 5arx

ответ

1

Если кто-то читает это:

Я пошел с решением JQueryish - теперь JS-функция работает уже. Он проверяет состояние любых элементов управления ASP.Net, которые действуют как «контроллеры видимости» (которые сохраняют собственное состояние через обратные вызовы) и соответственно настраивают интерфейс через вызовы JQuery.

0

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

Таким образом, процесс что-то вроде:.

действие пользователя -> обновление h Значение idden (s) -> обновление UI

Затем, когда посты страниц назад, вы заново установить интерфейс:

загрузки страницы -> обновление пользовательского интерфейса

Смежные вопросы