C#动态绑定Menu控件

来源:互联网 发布:golub 矩阵计算 pdf 编辑:程序博客网 时间:2024/05/21 10:11

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;

public partial class MasterPage : System.Web.UI.MasterPage
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack )
        {
            if (Session["UserName"] == null && Session["PassWord"] == null)
            {
                this.Label1.Text = "您当前的位置:";
                MenuItemAll();
            }
            else
            {
                this.Label1.Text = Session["UserName"].ToString() + "您当前的位置:";
                if (UserType() < 3)
                {
                    MenuItemUser();
                }
                else
                {
                    MenuItemAdmin();
                }
            }
            this.Label2.Text = System.DateTime.Now.ToString("D") + " " + System.DateTime.Now.ToString("dddd");
        }
    
    }
    //查找用户类型
    public int UserType()
    {
        SqlConnection cn = conn.CreateConnection();
        cn.Open();
        SqlCommand cmd = new SqlCommand("select [UserType] from [Members] where [UserName]='" + Session["UserName"].ToString

() + "' and [Password]='" + Session["PassWord"].ToString() + "'", cn);
        int i = Convert.ToInt32(cmd.ExecuteScalar());
        return i;
    }
    //用户menu设置
    public string[] RootNodestr = { "首页", "~/Default.aspx", "_self" };
    //未登录用户menu设置
    public void MenuItemAll()
    {
        MenuItem rootnode = new MenuItem();
        rootnode.Text = RootNodestr[0];
        rootnode.NavigateUrl = RootNodestr[1];
        rootnode.Target = RootNodestr[2];
        Menu1.Items.Add(rootnode);
        MenuItem leve1_node1 = new MenuItem();
        leve1_node1 = addChildNode(rootnode, "数据服务", "~/WebPages/DataServer.aspx", "_self");
        MenuItem leve1_node2 = new MenuItem();
        leve1_node2 = addChildNode(rootnode, "数据应用", "~/WebPages/DataYingyong.aspx", "_self");
        MenuItem leve2_node21 = new MenuItem();
        leve2_node21 = addChildNode(leve1_node2, "应用范例", "~/WebPages/DataYingyongFanli.aspx", "_self");
        MenuItem leve2_node22 = new MenuItem();
        leve2_node22 = addChildNode(leve1_node2, "共享条例", "~/WebPages/DataGongXiangTiaoli.aspx", "_self");
        MenuItem leve1_node3 = new MenuItem();
        leve1_node3 = addChildNode(rootnode, "关于我们", "~/WebPages/AboutUs.aspx", "_self");
        MenuItem leve2_node30 = new MenuItem();
        leve2_node30 = addChildNode(leve1_node3, "中心章程", "~/WebPages/Aboutzhongxinzhch.aspx", "_self");
        MenuItem leve2_node31 = new MenuItem();
        leve2_node31 = addChildNode(leve1_node3, "中心简介", "~/WebPages/AboutCenterIntroduce.aspx", "_self");
        MenuItem leve2_node32 = new MenuItem();
        leve2_node32 = addChildNode(leve1_node3, "领导简介", "~/WebPages/AboutLinDaoJianjie.aspx", "_self");
        MenuItem leve2_node33 = new MenuItem();
        leve2_node33 = addChildNode(leve1_node3, "运行机制", "~/WebPages/AboutYunXingjizhi.aspx", "_self");
        MenuItem leve2_node34 = new MenuItem();
        leve2_node34 = addChildNode(leve1_node3, "联系我们", "~/WebPages/AboutConnectionUs.aspx", "_self");
    }
    //管理员menu设置
    public void MenuItemAdmin()
    {
        MenuItem rootnode = new MenuItem();
        rootnode.Text = RootNodestr[0];
        rootnode.NavigateUrl = RootNodestr[1];
        rootnode.Target = RootNodestr[2];
        Menu1.Items.Add(rootnode);
        MenuItem leve1_node1 = new MenuItem();
        leve1_node1 = addChildNode(rootnode, "数据服务", "~/WebPages/DataServer.aspx", "_self");
        MenuItem leve1_node2 = new MenuItem();
        leve1_node2 = addChildNode(rootnode, "数据应用", "~/WebPages/DataYingyong.aspx", "_self");
        MenuItem leve2_node21 = new MenuItem();
        leve2_node21 = addChildNode(leve1_node2, "应用范例", "~/WebPages/DataYingyongFanli.aspx", "_self");
        MenuItem leve2_node22 = new MenuItem();
        leve2_node22 = addChildNode(leve1_node2, "共享条例", "~/WebPages/DataGongXiangTiaoli.aspx", "_self");
        MenuItem leve1_node3 = new MenuItem();
        leve1_node3 = addChildNode(rootnode, "关于我们", "~/WebPages/AboutUs.aspx", "_self");
        MenuItem leve2_node30 = new MenuItem();
        leve2_node30 = addChildNode(leve1_node3, "中心章程", "~/WebPages/Aboutzhongxinzhch.aspx", "_self");
        MenuItem leve2_node31 = new MenuItem();
        leve2_node31 = addChildNode(leve1_node3, "中心简介", "~/WebPages/AboutCenterIntroduce.aspx", "_self");
        MenuItem leve2_node32 = new MenuItem();
        leve2_node32 = addChildNode(leve1_node3, "领导简介", "~/WebPages/AboutLinDaoJianjie.aspx", "_self");
        MenuItem leve2_node33 = new MenuItem();
        leve2_node33 = addChildNode(leve1_node3, "运行机制", "~/WebPages/AboutYunXingjizhi.aspx", "_self");
        MenuItem leve2_node34 = new MenuItem();
        leve2_node34 = addChildNode(leve1_node3, "联系我们", "~/WebPages/AboutConnectionUs.aspx", "_self");
        MenuItem user = new MenuItem();
        user = addChildNode(rootnode, "用户中心", "~/User/Default.aspx", "_self");
        MenuItem user1 = new MenuItem();
        user1 = addChildNode(user, "更改密码", "~/User/ChangePassword.aspx", "_self");
        MenuItem user2 = new MenuItem();
        user2 = addChildNode(user, "修改资料", "~/User/ChangeZiLiao.aspx", "_self");
        MenuItem user3 = new MenuItem();
        user3 = addChildNode(user, "下载中心", "~/User/xiazai.aspx", "_self");
        MenuItem admin = new MenuItem();
        admin = addChildNode(rootnode, "管理中心", "~/Admin/Default.aspx", "_self");
        MenuItem admin1 = new MenuItem();
        admin1 = addChildNode(admin, "用户管理", "~/Admin/GuangliUser.aspx", "_self");
        MenuItem admin2 = new MenuItem();
        admin2 = addChildNode(admin, "新闻管理", "#", "_self");
        MenuItem admin3 = new MenuItem();
        admin3 = addChildNode(admin, "通知管理", "#", "_self");
        MenuItem admin4 = new MenuItem();
        admin4 = addChildNode(admin, "数据管理", "#", "_self");
    }
    //普通用户menu设置
    public void MenuItemUser()
    {
        MenuItem rootnode = new MenuItem();
        rootnode.Text = RootNodestr[0];
        rootnode.NavigateUrl = RootNodestr[1];
        rootnode.Target = RootNodestr[2];
        Menu1.Items.Add(rootnode);
        MenuItem leve1_node1 = new MenuItem();
        leve1_node1 = addChildNode(rootnode, "数据服务", "~/WebPages/DataServer.aspx", "_self");
        MenuItem leve1_node2 = new MenuItem();
        leve1_node2 = addChildNode(rootnode, "数据应用", "~/WebPages/DataYingyong.aspx", "_self");
        MenuItem leve2_node21 = new MenuItem();
        leve2_node21 = addChildNode(leve1_node2, "应用范例", "~/WebPages/DataYingyongFanli.aspx", "_self");
        MenuItem leve2_node22 = new MenuItem();
        leve2_node22 = addChildNode(leve1_node2, "共享条例", "~/WebPages/DataGongXiangTiaoli.aspx", "_self");
        MenuItem leve1_node3 = new MenuItem();
        leve1_node3 = addChildNode(rootnode, "关于我们", "~/WebPages/AboutUs.aspx", "_self");
        MenuItem leve2_node30 = new MenuItem();
        leve2_node30 = addChildNode(leve1_node3, "中心章程", "~/WebPages/Aboutzhongxinzhch.aspx", "_self");
        MenuItem leve2_node31 = new MenuItem();
        leve2_node31 = addChildNode(leve1_node3, "中心简介", "~/WebPages/AboutCenterIntroduce.aspx", "_self");
        MenuItem leve2_node32 = new MenuItem();
        leve2_node32 = addChildNode(leve1_node3, "领导简介", "~/WebPages/AboutLinDaoJianjie.aspx", "_self");
        MenuItem leve2_node33 = new MenuItem();
        leve2_node33 = addChildNode(leve1_node3, "运行机制", "~/WebPages/AboutYunXingjizhi.aspx", "_self");
        MenuItem leve2_node34 = new MenuItem();
        leve2_node34 = addChildNode(leve1_node3, "联系我们", "~/WebPages/AboutConnectionUs.aspx", "_self");
        MenuItem user = new MenuItem();
        user = addChildNode(rootnode, "用户中心", "~/User/Default.aspx", "_self");
        MenuItem user1 = new MenuItem();
        user1 = addChildNode(user, "更改密码", "~/User/ChangePassword.aspx", "_self");
        MenuItem user2 = new MenuItem();
        user2 = addChildNode(user, "修改资料", "~/User/ChangeZiLiao.aspx", "_self");
        MenuItem user3 = new MenuItem();
        user3 = addChildNode(user, "下载中心", "~/User/xiazai.aspx", "_self");
    }
    //添加子节点
    protected MenuItem addChildNode(MenuItem ParentNode, string Text, string NavigateUrl, string Target)
    {
        MenuItem node = new MenuItem();
        node.Text = Text;
        node.NavigateUrl = NavigateUrl;
        node.Target = Target;
        ParentNode.ChildItems.Add(node);
        return node;
    }
}