Требуется совет по управлению состоянием веб-форм ASP.Net - PullRequest
2 голосов
/ 14 декабря 2011

В VS 2010 шаблон веб-приложения ASP.Net создает главную страницу с двумя страницами содержимого: Домашняя страница и О программе. Состояние теряется при переходе на новую вкладку. Как разработчик Windows, я пытаюсь вернуть страницы в состояние, в котором пользователь их оставил.

Вкладка «Мои клиенты» позволяет пользователю фильтровать клиентов и выбирать одного из них в AspxGridView. Выбранный идентификатор клиента будет использоваться на других страницах (вкладках) для отображения связанных данных клиента: контакты, счета-фактуры, задачи и т. Д. Я бы хотел, чтобы пользователь мог вернуться на вкладку «Клиент» после того, как он оставил ее с фильтром, сортировка и т. д. все еще в такте.

Мне известны файлы cookie, строки запросов, состояние просмотра и переменные сеанса. Однако, поскольку пользователь уходит, я не знаю, как захватить пользовательский фильтр и отсортировать информацию из DevExpress AspxGridView, которая мне понадобится для восстановления состояния сетки.

Стоит ли перепроектировать приложение, чтобы оно представляло собой одну огромную страницу, содержащую каждую вкладку? Это поможет сохранить состояние просмотра, но может выйти из-под контроля. Моя компания хотела бы, чтобы это приложение стало полноценной CRM, и я не хочу создавать кошмар обслуживания.

Я ищу совет о том, как наилучшим образом поддерживать состояние вкладок / страниц в приложении веб-форм ASP.Net, которое со временем может стать довольно большим.

Ответы [ 2 ]

1 голос
/ 15 декабря 2011

Однако, поскольку пользователь уходит, я не знаю, как захватить пользовательский фильтр и отсортировать информацию из DevExpress AspxGridView, которая мне понадобится для восстановления состояния сетки.

Можно использовать данные макета клиента ASPxGridView. Элемент управления сеткой DX ASP.NET предлагает специальную инфраструктуру для этой цели:

ASPxGridView> Основные функции> Сохранить и восстановить макет:

http://help.devexpress.com/#AspNet/CustomDocument4342

E2534 - Как сохранить / загрузить данные ClientLayout ASPxGridView и выбрать их из ASPxListBox:

http://www.devexpress.com/Support/Center/e/E2534.aspx

0 голосов
/ 14 декабря 2011

В отличие от WinForms, сеть не имеет состояния.ASP.NET дает вам несколько вариантов для поддержания состояния между страницами и постами обратно.Отличное место для начала - MSDN.

Обзор управления состоянием ASP.NET

Как передавать значения между веб-страницами ASP.NET

Я не знаком с AspxGridView, но большинство серверных элементов управления используют ViewState для поддержания состояния между обратными передачами.Вы можете начать с подтверждения, что ViewState включен на элементах управления , page и web.config.

...