我做的项目是每个用户都有一个ROLEID,通过不同用户登录时候的Session["ROLEID"]来判断用户角色,不同的用户角色TreeView显示的节点是相同的,但是有些是不可用的,,我刚刚学习编程,这个问题我自己解决不了了,帮帮忙吧,,谢过了,
treeview下的节点有:
用户管理
  用户注册
  用户维护
数据维护
  表1数据维护
  表2数据维护
数据审核
  表1数据审核
  表2数据审核
数据查询
  表1数据查询
  表2数据查询
    如果Session["ROLEID"]=“信息管理员”的话,,所有结点都可用
    果Session["ROLEID"]=“审核员”的话,,只有数据审核
  表1数据审核
  表2数据审核
数据查询
  表1数据查询
  表2数据查询
可用,,但是所有结点还都显示

解决方案 »

  1.   

    通过代码,先判断权限,然后设置treeview的子节点
    这个很简单了
      

  2.   

    你的treeview的所有子项都是手动写死在里面的还是说动态加载的?
      

  3.   

    给你个笨办法
    假定页面是这么写的<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="test.aspx.cs" Inherits="Maticsoft.Web.test" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title></title>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
        <asp:TreeView ID="TreeView1" runat="server">
            <Nodes>
                <asp:TreeNode Text="用户管理" Value="用户管理">
                    <asp:TreeNode Text="用户注册" Value="用户注册"></asp:TreeNode>
                    <asp:TreeNode Text="用户维护" Value="用户维护"></asp:TreeNode>
                </asp:TreeNode>
                <asp:TreeNode Text="数据维护" Value="数据维护">
                    <asp:TreeNode Text="表1数据维护" Value="表1数据维护"></asp:TreeNode>
                    <asp:TreeNode Text="表2数据维护" Value="表2数据维护"></asp:TreeNode>
                </asp:TreeNode>
                <asp:TreeNode Text="数据审核" Value="数据审核">
                    <asp:TreeNode Text="表1数据审核" Value="表1数据审核"></asp:TreeNode>
                    <asp:TreeNode Text="表2数据审核" Value="表2数据审核"></asp:TreeNode>
                </asp:TreeNode>
            </Nodes>
        </asp:TreeView>
        </div>
        </form>
    </body>
    </html>那么后台就可以这么处理using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;namespace Maticsoft.Web
    {
        public partial class test : System.Web.UI.Page
        {
            protected void Page_Load(object sender, EventArgs e)
            {
                if (!IsPostBack)
                {
                    Session["ROLEID"] = "审核员";
                    if ("审核员".Equals(Session["ROLEID"].ToString()))
                    {
                        List<TreeNode> list = new List<TreeNode>();
                        foreach (TreeNode item in this.TreeView1.Nodes)
                        {
                            if (!"数据审核".Equals(item.Value))
                            {
                                list.Add(item);
                            }
                        }
                        for (int i = 0; i < list.Count; i++)
                        {
                            TreeView1.Nodes.Remove(list[i]);
                        }
                    }
                }
            }
        }
    }
      

  4.   

    这个treeview还真没这个本事,除非你用JS动态控制,不过很麻烦哦灰常麻烦,JS我也不太会玩