我从A页点击B页面上的树的某个节点 打开节点对应的B页面 但为什么只有第一个节点能展开 其它都展不开 到了B页面点树的节点才行 为什么呢? 每个节点有3层 

解决方案 »

  1.   

     foreach (DataRow row1 in levelsDT.Rows)
                {
                    string parentNode = "root";
                    string currentNode = parentNode + "_" + levelcounter;
                    string currentNodeText = "<span onclick='ob_t23(this)' style='cursor:pointer;'>" + levelsDT.Rows[levelcounter]["Name"].ToString() + "</span>";
                    oTreeReader.Add(parentNode, currentNode, currentNodeText, false, null, null);
                    int partscounter = 0;
                    #region
                    foreach (DataRow row2 in partsDT.Rows)
                    {
                        if (levelsDT.Rows[levelcounter]["LevelId"].ToString() == partsDT.Rows[partscounter]["LevelId"].ToString())
                        {
                            string parentNode2 = parentNode + "_" + levelcounter;
                            string currentNode2 = parentNode2 + "_" + partscounter;                        //Add node for Parts
                            string goToUrlParts = "Parts.aspx?pId=" + partsDT.Rows[partscounter]["PartId"].ToString() + "&id=" + currentNode2;                        string htmlParts = "<span onclick='ob_t23(this)' style='cursor:pointer;'>" + partsDT.Rows[partscounter]["Name"].ToString() + "</span>";
                            //string htmlParts = "Part " + partsticker + " : " + partsDT.Rows[partscounter]["Name"].ToString();
                            oTreeReader.Add(parentNode2, currentNode2, htmlParts, false, null, null);
                            partsticker++;                        if (partsticker == 6)
                                partsticker = 1;
                            int lessoncounter = 0;
                            int internalLessonCounter = 0;
                            foreach (DataRow row3 in lessonsDT.Rows)
                            {
                                if (lessonsDT.Rows[lessoncounter]["PartId"].ToString() == partsDT.Rows[partscounter]["PartId"].ToString())
                                {
                                    //Add node for the lessons / dialogues
                                    string parentNode3 = parentNode + "_" + levelcounter + "_" + partscounter;
                                    //string currentNode3 = parentNode3 + "_" + lessoncounter;
                                    string currentNode3 = parentNode3 + "_" + internalLessonCounter;
                                    string goToUrl;                                                           //Changed so that could disable dialogues before the advanced ones
                                    string html;//= "<a href='" + goToUrl + "' TITLE='" + lessonsDT.Rows[lessoncounter]["Name"].ToString() + " Dialogue'>课时: " + lessonsDT.Rows[lessoncounter]["Name"].ToString() + "</A>";
                                    if (lessonsDT.Rows[lessoncounter]["types"].ToString() == "2")//lessons判断对话或者阅读
                                    {
                                        goToUrl = "Dialogue.aspx?typ=Adv&lId=" + lessonsDT.Rows[lessoncounter]["LessonId"].ToString() + "&id=" + currentNode3;
                                        html = "<a href='" + goToUrl + "' TITLE='" + lessonsDT.Rows[lessoncounter]["Name"].ToString() + " Dialogue'>" + readerLabel + lessonsDT.Rows[lessoncounter]["Name"].ToString() + "</A>";
                                    }
                                    else if ((int)ViewState["tac"] == 3)
                                    {
                                        goToUrl = "advanceddialogue1.aspx?typ=Adv&lId=" + lessonsDT.Rows[lessoncounter]["LessonId"].ToString() + "&id=" + currentNode3;
                                        html = "<a href='" + goToUrl + "' TITLE='" + lessonsDT.Rows[lessoncounter]["Name"].ToString() + " Dialogue'>Reader: " + lessonsDT.Rows[lessoncounter]["Name"].ToString() + "</A>";                                }
                                    else
                                    {
                                        goToUrl = "advanceddialogue.aspx?typ=Adv&lId=" + lessonsDT.Rows[lessoncounter]["LessonId"].ToString() + "&id=" + currentNode3;
                                        html = "<a href='" + goToUrl + "' TITLE='" + lessonsDT.Rows[lessoncounter]["Name"].ToString() + " Dialogue'>Reader: " + lessonsDT.Rows[lessoncounter]["Name"].ToString() + "</A>";
                                    }
                                    oTreeReader.Add(parentNode3, currentNode3, html, false, null, null);                                internalLessonCounter = internalLessonCounter + 1;
                                   
                                }
                                lessoncounter++;
                            }
                        }
                        partscounter++;
                    }
                    #endregion
                    levelcounter++;                // Write treeview to your page.
                    TreeViewReaders.Text = oTreeReader.HTML();