Хороший способ поддерживать ASP.NET Состояния панели?

StackOverflow https://stackoverflow.com/questions/306504

  •  08-07-2019
  •  | 
  •  

Вопрос

Я создаю состоящую из нескольких частей веб-форму в ASP.NET, которая использует панели для разных шагов, делая видимой только панель для текущего шага.На шаге 1 у меня есть выпадающий список, который использует функцию Javascript для перенастройки некоторых полей на той же панели с помощью "onchange".Очевидно, что поскольку сценарий на стороне клиента влияет только на DOM, когда я перехожу к шагу 2, а затем возвращаюсь к Шагу 1, поля на Шаге 1 возвращаются к своей первоначальной конфигурации, даже если выбран тот же выпадающий список.

Какой хороший метод для сохранения визуального состояния панелей между шагами?Я рассматривал возможность вызова выпадающей функции onchange при загрузке страницы, но это показалось неуклюжим.Спасибо!

--

Спасибо за быстрые ответы - я думаю, что попробую использовать Мастер, но решение AJAX также звучит забавно.

Это было полезно?

Решение

Вы могли бы рассмотреть ASP.Net Для этого используется элемент управления Wizard - он автоматизирует многое из того, что вы пытаетесь сделать.

Другие советы

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

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

Попробуйте показывать / скрывать свои панели с помощью javascript вместо обратной публикации, если это возможно.Если нет, используйте какой-нибудь ajax для обновления значений на стороне сервера, как только они будут выбраны, а не при нажатии кнопки next / previous.

В противном случае вы могли бы использовать что-то вроде ASP.Net Вкладки Ajax Toolkit чтобы помочь с переходами.

Надеюсь, это поможет!

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top