《在[1].net里根据用户权限来生成树形菜单.doc》由会员分享,可在线阅读,更多相关《在[1].net里根据用户权限来生成树形菜单.doc(4页珍藏版)》请在金锄头文库上搜索。
1、在里怎么跟据用户权限来生成树形菜单using System;using System.Collections;using System.ComponentModel;using System.Data;using System.Drawing;using System.Web;using System.Web.SessionState;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.HtmlControls;using Microsoft.Web.UI.WebControls;using Syste
2、m.Data.SqlClient;namespace TreeCS/ / WebForm1 的摘要说明。/ public class WebForm1 : System.Web.UI.Page protected Microsoft.Web.UI.WebControls.TreeView TreeView1; private void Page_Load(object sender, System.EventArgs e) / 定义数据库连接 SqlConnection CN = new SqlConnection(); try /初始化连接字符串 CN.ConnectionString= d
3、ata source=pmserver;initial catalog=Benchmark;persist security info=False;user id=sa;Password=sa; CN.Open(); SqlDataAdapter adp = new SqlDataAdapter(select * from tbTree,CN); DataSet ds=new DataSet(); adp.Fill(ds); this.ViewStateds=ds; catch (Exception ex) SessionError = ex.ToString(); Response.Redi
4、rect(error.aspx); /跳转程序的公共错误处理页面 finally CN.Close(); /调用递归函数,完成树形结构的生成 AddTree(0, (TreeNode)null); / 递归添加树的节点 public void AddTree(int ParentID,TreeNode pNode) DataSet ds=(DataSet) this.ViewStateds; DataView dvTree = new DataView(ds.Tables0); /过滤ParentID,得到当前的所有子节点 dvTree.RowFilter = PARENTID = + Par
5、entID; foreach(DataRowView Row in dvTree) TreeNode Node=new TreeNode() ; if(pNode = null) /?添加根节点 Node.Text = RowConText.ToString(); TreeView1.Nodes.Add(Node); Node.Expanded=true; AddTree(Int32.Parse(RowID.ToString(), Node); /再次递归 else /添加当前节点的子节点 Node.Text = RowConText.ToString(); pNode.Nodes.Add(N
6、ode); Node.Expanded = true; AddTree(Int32.Parse(RowID.ToString(),Node); /再次递归 #region Web Form Designer generated code override protected void OnInit(EventArgs e) / / CODEGEN:该调用是 ASP.NET Web 窗体设计器所必需的。 / InitializeComponent(); base.OnInit(e); / / 设计器支持所需的方法 - 不要使用代码编辑器修改 / 此方法的内容。 / private void InitializeComponent() this.Load += new System.EventHandler(this.Page_Load); #endregion=在SQL SERVER 2000中建表的脚本:CREATE TABLE dbo.tbTree (ID int IDENTITY (1, 1) NOT NULL ,Context nvarchar (50) COLLATE Chinese_PRC_CI_AS NULL ,ParentID int NULL ,depth int NULL ) ON PRIMARY