Я смущен относительно того, какую область я должен использовать.
Здесь у меня есть модуль, состоящий из 4-х уровней страниц, таких как просмотр страниц - заголовок страницы - детали страницы этого заголовка - поддетали страницы этой детали. Я думаю, что каждая страница будет иметь свой собственный управляемый компонент.
Самый глубокий уровень, уровень 4 (страница подробных сведений), сможет получить доступ к состоянию любого другого управляемого компонента на внешнем уровне. Уровень 3 (страница сведений) может получить доступ к состоянию управляемого компонента уровня 2 (страница заголовка) и состоянию управляемого компонента уровня 1 (просмотр).
Внешний управляемый компонент не сможет получить доступ к более глубокому состоянию управляемого компонента.
Использование области запроса не подходит, поскольку страницам глубокого уровня необходимо получить доступ к другому состоянию на внешних уровнях.
Использование области сеанса подойдет, но будет потреблять память, когда пользователь переключается на другие несвязанные программные модули, и эти неиспользуемые компоненты будут оставаться в памяти до тех пор, пока сеанс. И более того, я не могу открыть эти цепочки страниц в разных вкладках.
Использование области диалога также сбивает меня с толку, поскольку у меня нет четких методов begin() и end(), таких как страницы в стиле мастера или страницы викторины. Пользователь может переключаться между этими страницами и выполнять действия на любой странице.
Использование области просмотра кажется возможным, но я должен использовать параметр, передаваемый с одной страницы на другую. Компоненты более глубокого уровня не смогут получить доступ к внешним компонентам, но они могут получить строковые параметры с предыдущей страницы. Это довольно некрасиво, потому что мне может понадобиться снова запросить много информации из базы данных, что можно было сделать в предыдущем управляемом компоненте.
Я неправильно думаю?
Пожалуйста, поделитесь своими мыслями.
Спасибо,
Альберт Кам