首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

Asp.Net TreeView有关问题

2013-03-01 
Asp.NetTreeView问题我数据库里面有一张表是保存的菜单信息,其实很简单,就是一个菜单组和子菜单,绑定方式

Asp.Net TreeView问题
我数据库里面有一张表是保存的菜单信息,其实很简单,就是一个菜单组和子菜单,绑定方式如下:


using System;
using System.Collections.Generic;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

using System.Data;
using AGV.BLL;
using System.Drawing;
using System.Net;

public partial class left : System.Web.UI.Page
{
    DataTable dt_Role = new DataTable();
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack) 
        {
            string  cookies_User = Request.Cookies["USER_COOKIE"]["UserName"];
            dt_Role = new sys_SetRoleManager().GetUserRoleByUserID(cookies_User);
            DataTable newdt = new DataTable();
            newdt = dt_Role.Clone();
            newdt = dt_Role.DefaultView.ToTable(true, "MenuGroupName");

            tvMenu.ShowLines = true;
            foreach (DataRow i in newdt.Rows)
            {
                TreeNode leveNode1 = new TreeNode();
                leveNode1.Text = i["MenuGroupName"].ToString();
                leveNode1.ImageUrl = "~/Images/TreeViewPic/web2.png";
                leveNode1.Expanded = false;
                leveNode1.SelectAction = TreeNodeSelectAction.Expand;                
                tvMenu.Nodes.Add(leveNode1);
                
            }
             

            for (int i = 0; i < tvMenu.Nodes.Count; i++)
            {
                for (int j = 0; j < dt_Role.Rows.Count; j++)
                {
                    if (tvMenu.Nodes[i].Text.Trim() == dt_Role.Rows[j]["MenuGroupName"].ToString())
                    {


                        TreeNode tn = new TreeNode();
                        tn.Text = dt_Role.Rows[j]["FunctionName"].ToString();
                        tn.NavigateUrl = dt_Role.Rows[j]["FrmUrl"].ToString();
                        tn.ImageUrl = "~/Images/TreeViewPic/Foote.png";
                        tvMenu.Nodes[i].ChildNodes.Add(tn);
                    }
                }
                
            } 
        }   
    }   
}


效果是这样的:
Asp.Net  TreeView有关问题

现在有一个问题,就是我想要获取TreeView节点的值的时候发现父节点的Value属性是绑定的数据库中的“Name”字段,而子节点绑定的确实数据库中的“ID”字段,这是怎么回事?

Asp.Net  TreeView有关问题

如下图,我想要的是父节点和子节点得到的都是ID,
父节点的值:
Asp.Net  TreeView有关问题
子节点的值:
Asp.Net  TreeView有关问题


[解决办法]
直接指定父节点的value值 levelNode1.Value = ..... 这样行不行?       

热点排行