| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Разработка под ASP.NET > TreeVew сохранение состояния (открытости нодов) |
| Автор: atas 8.12.2008, 18:28 | ||||
| Здравствуйте! Извеняюсь за поднятие старой темы, но у меня стоит задача сохранение состояния (открытости нодов) TreeView. TreeVew сворачивается в исходное состояние. TreeVew находидся на MasterPage (AJAX на MasterPage не использую, толко на Content Pages)
В чем может быть проблема? Заранее спасибо |
| Автор: elbjarn 11.12.2008, 09:57 |
| скорее всего, по клику на элемент дерева вы делаете редирект на какую-то страницу, так? тогда вполне естественно, что дерево схлопывается. потому что в пределах постбэков на странице оно хранит свое состояние во viewstate. но если вы переходите на другую страницу, вы получаете новый http-запрос, с нулевым viewstate. фактически, эти страницы никак между собой не связаны, и информацию о состоянии дерева они не разделяют. вам надо либо передавать путь в URL (path=3\6632\4324\3432) и обрабатывать эту информацию на целевой странице (TreeView.FindNode, Node.Select, Node.Expand), либо делать все в пределах одной страницы на постбэках. |
| Автор: atas 11.12.2008, 21:18 |
| elbjarn спасибо Да так оно и есть, я исползую дерево для отображения меню из sitemap файла (Master page) и при клике на ноде загружается Content page. У меня явно НЕ срабативает собитие TreeView1_SelectedNodeChanged Как обойти эту проблему? Может как то на JavaScripte? |