可以把CSDN保存原代码后看看啊兄弟
我感觉是用的AJAX

解决方案 »

  1.   

    http://community.csdn.net//WebConsole/PFTabPage.aspx
    你看看这个
    再看这里面的源码
      

  2.   

    这是我的网站里面的图片库(无限分级)里面用到的,ID为传递参数,不传值取父节点的,传值取子节点的
     string treestr = "";
            string temp = AKSON.Project.WaterConservation.Common.ClsHtml.GetQueryString("id");
            if (temp.Length == 0)
            {
                treestr += "function InitShowTreeInfo(tree)\r\n";
                treestr += "{\r\n";
                treestr += "tree.nodes['0_a'] = 'text:欢迎您[" + ClsSql.ReturnSqlField("select sum(PICCOUNT) from S_TYPE_B ", 1) + "];url:Default.aspx;';\r\n";
                string sql = "select * from S_TYPE_B WHERE (LEN(ID) =2) and ISTYPE=0 ORDER BY STNM";            DataSet ds = ClsSql.FullDataSet(sql, 1);
                for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
                {
                    string VARC1 = "url:Default.aspx?tid=" + ds.Tables[0].Rows[i]["TID"].ToString() + ";";
                    //string PICCOUNT = ds.Tables[0].Rows[i]["PICCOUNT"].ToString();
                    string t_id = ds.Tables[0].Rows[i]["ID"].ToString();
                    treestr += "tree.nodes['a_" + ds.Tables[0].Rows[i]["ID"].ToString() + "']='text:" + ds.Tables[0].Rows[i]["STNM"].ToString() + "[" + ClsSql.ReturnSqlField("select sum(PICCOUNT) from S_TYPE_B where left(id," + t_id.Length + ")='" + t_id + "'", 1) + "];" + VARC1 + "childNodesFileName:TreePicShowJS.aspx?id=" + ds.Tables[0].Rows[i]["ID"].ToString() + ";';\r\n";
                }
                ds.Clear();
                ds.Dispose();
                treestr += "}\r\n";
                Response.Write(treestr);
                Response.Write("POK");
                Response.End();
            }
            else
            {
                string sql = "select * from S_TYPE_B where substring(ID,1," + temp.Length + ")='" + temp + "' and len(ID)=" + (temp.Length + 2) + " and ISTYPE=0 order by ORDERBY desc, STNM";
                //Response.Write(sql + "<br>");
                DataSet ds = ClsSql.FullDataSet(sql, 1);
                string t = "";
                for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
                {
                    string t_id = ds.Tables[0].Rows[i]["ID"].ToString();
                    string VARC1 = "url:Default.aspx?tid=" + ds.Tables[0].Rows[i]["TID"].ToString() + ";";
                    if (ClsSql.JudgeRecordExists("select * from S_TYPE_B where  substring(ID,1," + t_id.Length + ")='" + t_id + "' and len(ID)=" + (t_id.Length + 2) + " and ISTYPE=0", 1))
                    {
                        Response.Write("tree.nodes['" + temp + "_" + t_id + "'] = 'text:" + ds.Tables[0].Rows[i]["STNM"].ToString() + "[" + ClsSql.ReturnSqlField("select sum(PICCOUNT) from S_TYPE_B where left(id," + t_id.Length + ")='" + t_id + "'", 1) + "];" + VARC1 + "childNodesFileName:TreePicShowJS.aspx?id=" + t_id + "';\r\n");
                    }
                    else
                    {
                        Response.Write("tree.nodes['" + temp + "_" + t_id + "'] = 'text:" + ds.Tables[0].Rows[i]["STNM"].ToString() + "[" + ClsSql.ReturnSqlField("select sum(PICCOUNT) from S_TYPE_B where left(id," + t_id.Length + ")='" + t_id + "'", 1) + "];" + VARC1 + "';\r\n");
                    }
                    t += "\\x0f\\x0f" + temp + "_" + t_id;
                }
                Response.Write("tree.names +='" + t + "';\r\n\r\n");
                ds.Clear();
                ds.Dispose();
                Response.End();
            }