永发信息网

C#用XML文件做动态菜单(C/S模式)

答案:2  悬赏:0  手机版
解决时间 2021-11-13 23:06
C#用XML文件做动态菜单(C/S模式)
最佳答案
就是一个基础框架的例子。

首先根据ID获取当前权限的菜单xml文件,一般将xml存储到数据库里面。然后通过xml文件去编辑菜单。
再将菜单添加到form界面上面,给你个简单例子。
    public partial class TreeMenu : RadTreeView
    {
        #region Field
        private XDocument xDoc = null;
        #endregion
 
        #region Property
 
        public XDocument XDoc
        {
            set 
            {
                this.xDoc = value;
 
                var items = xDoc.Element("Menu").Elements("MenuItem");
                foreach (var item in items.ToList())
                {
                    this.Nodes.Add(this.CreateTreeNode(item));
                }
            }
        }
        #endregion
 
        public TreeMenu()
        {
            InitializeComponent();
        }
 
        public TreeMenu(IContainer container)
        {
            container.Add(this);
            InitializeComponent();
 
            this.NodeCheckedChanged += TreeMenu_NodeCheckedChanged;
        }
 
        #region Method
        /// 
        /// 点击节点更换
        /// 

        /// 
        /// 
        private void TreeMenu_NodeCheckedChanged(object sender, RadTreeViewEventArgs e)
        {
            //throw new NotImplementedException();
            RadTreeNode node = sender as RadTreeNode;
 
        }
 
        private RadTreeNode CreateTreeNode(XElement xel)
        {
            //string treeName = xel.Attribute("Text").Value.ToString();
            RadTreeNode node = new RadTreeNode();
            node.Text = xel.Attribute("Text").Value.ToString();
            if (xel.Elements("MenuItem").Count() > 0)
            {
                foreach (var q in xel.Elements("MenuItem"))
                {
                    node.Nodes.Add(this.CreateTreeNode(q));
                }
            }
            node.Tag = xel;
            
            return node;
        }
        #endregion
    }

菜单事件部分肯定要用到反射,都是些基础的东西。

全部回答
C#用XML,意思是分别提取XML里面的各个元素。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
以“春姑娘是什么,春天是什么。”写首诗怎么
请写出ch4、cl2、ccl4的电子式和结构式。
氨水输送管道宜采用什么材质
国产洗化用品代理商利润是多少
今年在呼和浩特开家什么店最赚钱
女主嫁个不爱自己的男主,后办离住处,到别的地
关于MTU的问题?
云智客是传销吗
求一些恶搞程序的C语言源代码
rs422转rs485需要转换器吗?
卧龙吟诸葛与吕布哪个好
花盆里有菊花45个,菊花比牧丹多23个,牧丹有多
学位房是不是买完之后,就失去价值了
济宁的浦发银行透支卡能在日照消费吗
含"幸"字的四字成语有哪些
推荐资讯
为什么我的PR CC2015一直安装到2%后就安装失
分手后给对方送别的话
玉石带起来怎么感觉有点冷什么原因
花花公子男装地址有知道的么?有点事想过去!
收徒弟师父是不是会给弟子取名字
环保手提塑料袋的原材料是什么
第一次去拉萨五千多的海拔人能受得了吗?
远航租赁地址好找么,我有些事要过去,
“他是这样一朵忧郁的男子”是什么意思?出处
TCL王牌老彩电有声音没图像,但是光珊正常,A
蝉蜕和蛇蜕的功效有什么区别
国际PE100+协会是指什么?中石化有产品“入队
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?