В моем приложении ASP.NET Web Forms у меня есть download.aspx макет с панорамированием страницы. На левой панели у меня есть элемент управления TreeView , а на правой панели я отображаю некоторый контент, как только пользователь выбирает листовой узел .
Если пользователь ( не вошел в систему ) щелкает по конечному узлу TreeView , который требует авторизации, пользователь отправляется на компонент входа и после входа в систему он перенаправляется в download.aspx с TreeView, не расширенным .
Я бы хотел изменить это поведение, перенаправив пользователя (после входа в систему) на страницу загрузки с расширением TreeView , как и прежде, чем он / она был отправлен в компонент входа в систему.
Я не проектировал страницу и никогда не пользуюсь TreeView широко. Мое первое предположение, поскольку я не вижу никакой QueryString , это то, что расширение узла управляется JavaScript (или JScript) обработчиком , который обрабатывает onExpand событие TreeView и асинхронно выбирает подузлы из базы данных. Однако я не уверен, что это так работает.
Моя идея состоит в том, чтобы создать объект Session State Session ["downloadTVdepth"] где каждый раз, когда пользователь расширяет узел, я каким-то образом сохраняю те узлы, которые он / она достиг. Поэтому, когда происходит перенаправление с компонента входа в систему на файл downloads.aspx, код проверяет, существует ли значение Session ["downloadTVdepth"] , а eventuallty расширяет дерево.
Мой подход правильный? Как я могу получить информацию о расширенных узлах TreeView? Как я могу запустить событие onExpand без фактического расширения пользователем узла?