您的位置:首页 > 编程语言 > ASP

asp.net站点地图TreeView(动态)

2012-09-26 19:49 316 查看
1、首先创建一个类,在类里面创建一个方法,该方法会返回一个数据集,该数据集里包含了数据库中的数据,数据库字段如下:



 后台代码如下:

 protected void Page_Load(object sender, EventArgs e)

    {

        if (!IsPostBack)

        {

            LoadData();

        }

    }

    private void LoadData()

    {

        DataSet ds = new DataAccess().GetAllCloumn();

        if (ds != null)

        {

            foreach (DataRow dr in ds.Tables[0].Rows)

            {

                if (dr["cloumnCode"].ToString() == "-1")

                {

                    TreeNode root = new TreeNode(dr["cloumnName"].ToString(), dr["cid"].ToString());

                    TreeView1.Nodes.Add(root);

                    AddNode(root, dr["cid"].ToString(), ds);

                }

            }

        }

    }

    private void AddNode(TreeNode farther, string fartherId, DataSet ds)

    {

        foreach (DataRow dr in ds.Tables[0].Rows)

        {

            if (dr["cloumnCode"].ToString() == fartherId)

            {

                TreeNode nodes = new TreeNode();

                if (dr["url"].ToString() != null && dr["url"].ToString() != "")

                {

                    nodes.Text = "<span onclick='javascript:return setUrl(\"" + dr["url"].ToString() + "\")'>" + dr["cloumnName"].ToString() + "</span>";

                }

                else

                {

                    nodes.Text = dr["cloumnName"].ToString();

                }

                nodes.Value = dr["cid"].ToString();

                farther.ChildNodes.Add(nodes);

                if (bool.Parse(dr["HasChild"].ToString()))

                {

                    AddNode(nodes, dr["cid"].ToString(), ds);

                }

            }

        }

    }

前台js代码如下:

            function setUrl(urlstr) {

            document.getElementById("frameDiapaly").src = urlstr;

            return false;

        }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息