- 浏览: 189294 次
- 性别:
- 来自: 深圳
文章分类
最新评论
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using Student.Models;
using Student.BLL;
using System.Collections.Generic;
public partial class SysFunTest : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
LoginInfo user = Session["CurrentUser"] as LoginInfo;
if (!Page.IsPostBack)
{
DisplayUserMenu(user);
}
}
protected void DisplayUserMenu(LoginInfo user)
{
tvUserRightMenu.Nodes.Clear();
IList<SysFun> parentSysFun = SysFunManager.GetAllByTiaojian(user.URole.RoleId);
if (parentSysFun.Count != 0)
{
foreach (SysFun sfParent in parentSysFun)
{
string nodeId = sfParent.NodeId.ToString();//第一层节点id
string displayName = sfParent.DisplayName;//第一层节点显示名称
TreeNode fatherNode = this.CreatTreeNode(displayName, nodeId, "", "Image/fclose.gif");//根据节点信息,创建第一层节点
CreateChildTree(sfParent.NodeId.ToString(), user.URole.RoleId, fatherNode);//创建子节点
tvUserRightMenu.Nodes.Add(fatherNode);//将第一层节点加入到用户权限TreeView中
}
}
else
{
Response.Write("<script>alert('您没有这些权限!')</script>");
}
}
//创建第二层节点
private void CreateChildTree(string nodeId, int roleId, TreeNode fatherNode)
{
IList<SysFun> childSysFun = SysFunManager.GetAllZiByFu(Convert.ToInt32(nodeId), roleId);//获得父节点为nodeId的所有子节点
foreach (SysFun sfChild in childSysFun)
{
string childNodeId = sfChild.NodeId.ToString();//第二层节点id
string childDisplayName = sfChild.DisplayName;//第二层节点名称
string nodeURL = ResolveUrl(sfChild.NodeURL.Trim());//将路径转换为在客户端可用的URL
TreeNode childNode = this.CreatTreeNode(childDisplayName, childNodeId, nodeURL, "Image/doc.gif");//根据节点信息,创建第二层节点
AddTree(fatherNode, childNode);//将子节点加入到父节点中
}
}
/// <summary>
/// 创建一个树节点,返回一个树节点对象,参数内容是:
/// 节点名称,节点ID,链接地址,正常图标,展开后的图标
/// </summary>
private TreeNode CreatTreeNode(string strText, string strId, string strUrl, string strImg)
{
TreeNode newNode = new TreeNode();
newNode.Text = strText;
newNode.Value = strId;
newNode.NavigateUrl = strUrl;
newNode.ImageUrl = strImg;
return newNode;
}
/// <summary>
/// 把子节点添加到父节点当中
/// </summary>
private void AddTree(TreeNode FatherNode, TreeNode ChildNode)
{
FatherNode.ChildNodes.Add(ChildNode);
}
}
发表评论
文章已被作者锁定,不允许评论。
-
使用SignalR构建一个最基本的web聊天室
2015-01-06 15:09 766使用SignalR,可以使用服务器消息推送到客户端,件demo ... -
一台服务器访问另外一台服务器的共享目录
2014-12-19 10:50 605情况:A服务器的asp.ne程序需访问B服务器的共享目录, ... -
windows7 IIS7报错:如果要使用托管的处理程序,请安装 ASP.NET
2014-12-19 10:31 2413aspx 常见错误 CS0016: 未能写入输出文件“c:/ ... -
windows7 IIS7报错:如果要使用托管的处理程序,请安装 ASP.NET
2014-12-19 10:30 662windows7 IIS7报错:如果要使用托管的处理程序,请 ... -
Cookie小知识
2014-12-17 11:02 598如果cookie设置了过期时间,cookie就会保存在硬盘中 ... -
一个避免用户重复点击按钮造成重复数据的小技巧
2013-01-13 16:13 1222<script> //启用 ... -
SWFupload 上传控件的使用的使用
2012-12-02 16:17 868-- 首先说个解决 ie兼容的标签 <meta ht ... -
评论的延迟加载
2012-11-10 18:34 782看verycd、cnbeta的评论区域很奇怪,每次看完了正文, ... -
SessionID的本质
2012-11-05 23:08 708一、客户端用cookie保存了sessionID 客户 ... -
进程管理运用,防盗链,权限限制
2012-11-05 22:58 593图片防止盗链 void Appl ... -
进程外session配置
2012-11-05 22:57 878进程外session StateServer 对象必须可序列 ... -
分页底层实现(超原理)
2012-10-16 22:19 956--样式 .paginator{ font: 12px ... -
生命周期请求过程
2012-10-07 14:40 740客户端第一步:用户在地址栏里面输入地址,或者是提交表单第二步: ... -
C#,FTP上传的代码 FtpWebRequest
2012-08-24 22:46 961private void Upload(string file ... -
.net ajax控件实现百度,谷歌智能搜索
2012-08-08 22:11 897首先创建一个webservice,不懂也没关系,会用 ... -
asp.net几种开源上传控件,flash,ajax版,支持多文件
2012-08-08 22:11 19441、AspnetUpload 地址:http://www.a ... -
js和C#中的进制转换方法
2012-08-08 22:12 780在.net Framework中,System.Convert ... -
下拉框下的树形结构数据的绑定
2012-08-12 22:12 853privatevoid BindDropDownLi ... -
Repeater 控件实现无刷新分页
2012-08-12 22:13 1280本文讲述的是如何利用 XMLHttpRequest ... -
.net文件上传的各种操作及创建文件夹和删除上传的文件方法
2012-08-12 22:15 934aspx中<tr><td align=& ...
相关推荐
Java 递归算法构造 JSON 树形结构 Java 递归算法构造 JSON 树形结构是指通过 Java 语言使用递归算法将数据库中的菜单表构建成树形的 JSON 格式发送给第三方。这种方法可以将复杂的树形结构数据转换成易于理解和处理...
根据给定文件的信息,本文将详细介绍二叉树与树之间的转换方法,并且深入探讨树的前序、中序、后序遍历递归与非递归实现方式,以及层次遍历的非递归算法实现。 ### 二叉树与树的转换 在计算机科学中,树是一种常用...
在这个场景中,我们讨论的是使用递归算法来实现无限级树。递归是一种强大的编程技术,通过函数调用自身来解决问题或执行任务,特别适合处理层次结构的问题。 首先,我们需要理解递归的基本概念。递归由两部分组成:...
### 中序遍历二叉树的递归算法 #### 知识点概述 本文将详细介绍如何使用递归方法实现二序遍历二叉树,并解释其背后的原理与应用场景。 #### 二叉树简介 二叉树是一种数据结构,其中每个节点最多有两个子节点:左...
"Tree递归.rar"这个压缩包文件提供了一个关于如何使用递归算法处理树结构的示例。递归是编程中的一种强大工具,它允许函数或方法调用自身来解决复杂问题。在这个例子中,递归被用来遍历和操作树结构。 首先,我们来...
本节将详细介绍树的前序、后序递归算法以及层序非递归算法,并探讨如何在Java中实现这些算法。 首先,我们要理解树的基本概念。树由若干个节点组成,每个节点可以有零个或多个子节点。在树的遍历过程中,我们需要...
基于递归和非递归算法求二叉树镜像的方法 本文主要介绍了C++语言中基于递归和非递归算法求二叉树镜像的方法。二叉树镜像是指将二叉树的左右子树交换,使其成为镜像的过程。本文将详细讲述递归和非递归算法的实现与...
这里我们将重点讨论前序、后序递归算法以及层次(层序)非递归算法,并基于Java语言进行解析。 首先,我们来看树的存储结构。在Java中,通常使用二叉链表(Binary Link List)来表示树结构。`CSNode.java`可能定义...
二分检索算法可以分为递归算法和迭代算法两种。递归算法是一种top-down的算法,通过将问题分解成小问题,最后将结果合并以得到最终结果。迭代算法是一种bottom-up的算法,通过不断地迭代,直到找到目标元素。 在...
FP-TREE(频繁模式树)是一种在数据挖掘领域用于发现关联规则的高效算法,尤其适用于处理大规模高频率项集的数据。Python作为一种强大的编程语言,因其易读性与丰富的库支持,成为了实现FP-TREE算法的理想选择。在这...
总的来说,这个项目涵盖了Java Web开发中的一些核心知识点,包括但不限于:EasyUI的使用、SpringMVC的Controller设计模式、JdbcTemplate进行数据库操作以及递归算法处理树形数据。理解这些知识点对于开发类似功能的...
在IT领域,尤其是在Web开发中,使用ASP.NET...总的来说,"Tree使用递归显示"是一个涉及数据结构、数据库操作、ASP.NET控件使用和递归算法的综合问题,理解和掌握这些知识点对于开发高效且用户友好的Web应用至关重要。
JavaScript递归算法生成树形菜单是一种常见的编程技巧,主要用于处理具有层级关系的数据,例如网站的导航菜单、组织结构等。在本示例中,我们看到如何利用递归方法将一个对象数组转换为HTML的树形结构,从而在网页上...
本资源"遍历二叉树的4个非递归算法.rar"提供了C#语言实现的这四种非递归遍历方法,对于学习者来说是非常宝贵的资料。 1. **前序遍历**(Root-Left-Right): 在前序遍历中,我们首先访问根节点,然后递归地遍历左...
3.使用递归 先序遍历一棵二叉树 4.使用递归 中序遍历一棵二叉树 5.使用递归 后序遍历一棵二叉树 6.使用非递归 先序遍历一棵二叉树 7.使用非递归 中序遍历一棵二叉树 8.使用非递归 后序遍历一棵二叉树 PS:代码为C++...
FPtree算法采用一种递归的模式增长策略,将事务数据库压缩为一棵只包含频繁项的树结构,从而避免了频繁生成候选集的过程,显著提高了挖掘速度。 ##### 基本思想 FPtree算法的核心在于构建一个树形结构,树的节点...
FP-Tree(频繁模式树)算法是数据挖掘领域中用于发现频繁项集的一种高效方法,尤其在处理大规模数据集时表现突出。C#是一种广泛使用的编程语言,它提供了丰富的库和工具来支持各种领域的开发,包括数据挖掘。下面将...
### 后序遍历该二叉树的非递归算法 #### 1. 理解题目背景 在计算机科学中,二叉树是一种常用的数据结构。它具有丰富的应用场景,如搜索、排序等。二叉树可以有多种遍历方式,包括前序遍历、中序遍历和后序遍历。...
本文将探讨如何使用JSP、JavaScript(JS)和POJO(Plain Old Java Object)技术,结合递归算法,将静态树转换为动态树。 首先,我们需要一个存储节点信息的数据库。例如,我们可以创建一个包含ID、PID(Parent ID)...