JQuery / ASP.Net - Как сохранить состояние скрытых элементов пользовательского интерфейса в обратных передачах? - PullRequest
3 голосов
/ 17 января 2011

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

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

Кто-нибудь может предложить лучший способ ...?

Ответы [ 2 ]

1 голос
/ 18 января 2011

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

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

0 голосов
/ 17 января 2011

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

Таким образом, процесс выглядит примерно так:

действие пользователя -> обновить скрытое значение(s) -> обновить пользовательский интерфейс

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

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

...