Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > ASP > TreeView.FindNode() - возвращает null


Автор: Most 7.12.2010, 17:01
Здравствуйте. Столкнулся с проблемой, помогите решить. Суть проблемы в том что нужно програмно выбрать определенный нод в TreeView. В проєкте есть главная страница main.aspx на которой находиться вышеупомянутое TreeView. При возврате на эту страницу из страници p2.aspx, нужно чтобы програмно выбирался тот нод который был выбран до перехода на страницу p2.aspx. Решил просто сохранить ValuePath нода в Сессию а потом повторно по нему выбрать. Но увы... функция TreeView.FindNode(ValuePath) возвращает null. Помогите разобраться...

Вот само дерево на странице main.aspx
Код

<asp:TreeView ID="TreeView1" runat="server" 
                                DataSourceID="XmlDataSource1" OnSelectedNodeChanged="TreeView1_SelectedNodeChanged"
                                        ExpandDepth="0" ViewStateMode="Enabled" Font-Size="11px">
 
                                          <HoverNodeStyle ForeColor="#333333" />
      
                                         <RootNodeStyle ForeColor="#999999" />
                                         <DataBindings>
                                        <asp:TreeNodeBinding DataMember="siteMapNode" TextField="title" Target="url" ValueField="title" 
                                            SelectAction="SelectExpand" />
                                        </DataBindings>
                                        <SelectedNodeStyle ForeColor="#3399FF" Font-Bold="true"  ImageUrl="~/img/markers/k_b.gif"/>
                                </asp:TreeView>
 
 


Вот метод который передает в параметр "Sesssion" значение ValuePath вызывается в Page_Load страници main.aspx
Код

 
//--- переходим на страничку создания ИР
                    if (ctrlname == "btn_pro_IR") 
                    {
                        Session["Selected_Department"] = CurrentNode;
                        Session["Selected_Node"] = CurrentNode.ValuePath;
                        
                        Response.Redirect("p2.aspx");
                        
                    }
 


Метод который выбирает нод в дереве(Вызывается в Page_Load страници main.aspx)

Код


if (returned)
                        {
                            ctrlname = (String)Session["RemoteCtrlName"];
                            string path = Session["Selected_Node"].ToString();
                            TreeNode node = TreeView1.FindNode(path);  // --- вот тут получается null =,(
                            node.Select();
                            
                        }
 


Помогите разобраться в чем дело....

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)