当前位置:编程学习 > C#/ASP.NET >>

急急急,各位哥哥姐姐帮帮忙吧

我做的项目是每个用户都有一个ROLEID,通过不同用户登录时候的Session["ROLEID"]来判断用户角色,不同的用户角色TreeView显示的节点是相同的,但是有些是不可用的,,我刚刚学习编程,这个问题我自己解决不了了,帮帮忙吧,,谢过了,
treeview下的节点有:
用户管理
  用户注册
  用户维护
数据维护
  表1数据维护
  表2数据维护
数据审核
  表1数据审核
  表2数据审核
数据查询
  表1数据查询
  表2数据查询
    如果Session["ROLEID"]=“信息管理员”的话,,所有结点都可用
    果Session["ROLEID"]=“审核员”的话,,只有数据审核
  表1数据审核
  表2数据审核
数据查询
  表1数据查询
  表2数据查询
可用,,但是所有结点还都显示 --------------------编程问答-------------------- 通过代码,先判断权限,然后设置treeview的子节点
这个很简单了 --------------------编程问答-------------------- 我的QQ:641841633,能详细的问你一下吗,,我很菜 --------------------编程问答-------------------- 你的treeview的所有子项都是手动写死在里面的还是说动态加载的?
--------------------编程问答-------------------- 这个很好做!在C#代码里就可以判断了! --------------------编程问答-------------------- 可是我不会,我能QQ咨询你一次吗 --------------------编程问答--------------------
引用 4 楼  的回复:
这个很好做!在C#代码里就可以判断了!


我的是手动写死的 --------------------编程问答--------------------
引用 3 楼  的回复:
你的treeview的所有子项都是手动写死在里面的还是说动态加载的?


我的是手动写死的 --------------------编程问答-------------------- 可以初始化的时候,都不可用。然后判断权限,有权限的节点就开启 --------------------编程问答--------------------
引用 7 楼 zhoufangfang54 的回复:
引用 3 楼 的回复:
你的treeview的所有子项都是手动写死在里面的还是说动态加载的?


我的是手动写死的

给你个笨办法
假定页面是这么写的

<%@ 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]);
                    }
                }
            }
        }
    }
}
--------------------编程问答-------------------- 自测过的 --------------------编程问答-------------------- 谢谢你,,但是还是不是灰显,,我们领导的意思是所有的节点都显示,,但是是设置灰显 --------------------编程问答-------------------- =。=
你丫就没说明白,我去
就是不让点但是能看见是吗? --------------------编程问答-------------------- 这个treeview还真没这个本事,除非你用JS动态控制,不过很麻烦哦。。。灰常麻烦,JS我也不太会玩 --------------------编程问答-------------------- 哦。。对不起,,我刚刚接触软件 --------------------编程问答--------------------
引用 14 楼  的回复:
哦。。对不起,,我刚刚接触软件

你跟你们领导沟通下,你就这么跟他说,你说领导,你想想,如果说他没有这个权限你为什么还让他看见这个权限,看见了又不让点,你说这合理吗这个,然后你就接着忽悠说,从使用角度来讲,没有这个权限,还是不要显示的好! --------------------编程问答-------------------- 对呀,不给用还显示出来干嘛呢 --------------------编程问答-------------------- 使用递归,在递归函数中,根据权限设置节点状态 --------------------编程问答--------------------
引用 17 楼  的回复:
使用递归,在递归函数中,根据权限设置节点状态


能详细的说说怎么实现吗
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,