Asp.Net TreeView问题

allen0118 allen0118 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
我数据库里面有一张表是保存的菜单信息,其实很简单,就是一个菜单组和子菜单,绑定方式如下:

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);
}
}

}
}
}
}


效果是这样的:


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



如下图,我想要的是父节点和子节点得到的都是ID,
父节点的值:

子节点的值:


...全文
评论 4
收藏 已收藏
分享
返回顶部
allen0118
.NET社区 62,272 成员 668,968 内容