U8 中新增菜单

第一步:首先我用的sql server ,先写脚本(由于第一次用U8,对字段不熟,加上重要字段解释)

sql脚本:
UA_Menu(b表)
DELETE FROM [UFSystem].[dbo].[UA_Menu] WHERE [cMenu_Id]='唯一ID'
INSERT INTO [UFSystem].[dbo].[UA_Menu]
--新增菜单id  |  |新增菜单英文名| 模块标识  |级次     |上级菜单编号   |是否末级    |关联功能   |显示顺序号   ...
([cMenu_Id], [cMenu_Name], [cMenu_Eng],   [cSub_Id],  [IGrade], [cSupMenu_Id],  [bEndGrade], [cAuth_Id], [iOrder],   [iImgIndex], [Paramters], [Depends], [Flag])
VALUES('唯一ID', '新增菜单名',  null,          null,       1,        '父级ID',          1,           NULL,        0,         0,NULL,NULL,NULL)

ua_idt(表)
DELETE FROM [UFSystem].[dbo].[ua_idt] where id='AAC'
INSERT INTO [UFSystem].[dbo].[ua_idt]
--唯一编号 | |  
([id], [assembly], [catalogtype], [type], [class], [entrypoint], [parameter], [reserved])
VALUES('唯一编号','.dll名字位置',0,2,'类.MyLoginable',null,null,null)

第二步:使用VisualStudio创建项目cheshi.dll

1.添加引用:(可根据我给的路径添加)
U8安装路径\ Interop\Interop.U8Login 
U8安装路径\Portal\UFIDA.U8.Portal.Framework.dll
U8安装路径\ Portal \UFIDA.U8.Portal.Proxy.dll
U8安装路径\ Portal \UFIDA.U8.Portal.Common.dll

2.继承 NetLoginable,重载SubSysLogin,SubSysLogOff和CallFunction方法
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using UFIDA.U8.Portal.Proxy.editors;
using UFIDA.U8.Portal.Proxy.supports;

namespace ceshi
{
    public class MyLoginable : UFIDA.U8.Portal.Proxy.supports.NetLoginable
    {
        public override object CallFunction(string cMenuId, string cMenuName, string cAuthId, string cCmdLine)
        {
            MyNetUserControl MenuEnt = new MyNetUserControl();
            Class1.id = cMenuId;    //Class1.id 是我为了传参数创建了一个类,静态字段ID
            MenuEnt.Title = cMenuName;
            base.ShowEmbedControl(MenuEnt, cMenuId, true);
            return null;
        }
        public override bool SubSysLogin()
        {

            return base.SubSysLogin();
        }
        public override bool SubSysLogOff()
        {
            return base.SubSysLogin();
        }
    }
}


3.实现INetUserControl,重载SubSysLogin,SubSysLogOff和CallFunction方法
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using UFIDA.U8.Portal.Framework.Actions;
using UFIDA.U8.Portal.Framework.MainFrames;
using UFIDA.U8.Portal.Proxy.Actions;
using U8Login;
using UFIDA.U8.Portal.Proxy.editors;
using System.Windows.Forms;
using UFSoft.U8.Framework.Login.UI;

namespace ceshi
{
    class MyNetUserControl : INetUserControl
    {
        public IEditorInput EditorInput { get; set; }

        public IEditorPart EditorPart { get; set; }

        public string Title { get; set; }

        public Boolean CloseEvent()
        {
            return true;
        }
        public NetAction[] CreateToolbar(UFSoft.U8.Framework.Login.UI.clsLogin login)
        {
            return null;
        }
        public Control CreateControl(UFSoft.U8.Framework.Login.UI.clsLogin login, string MenuID, string Paramters)
        {
            U8Login.clsLogin comLogin = new U8Login.clsLoginClass();
            if (login != null)
            {
                comLogin.ConstructLogin(login.userToken);
            }
            if (Class1.id.Equals("AAB"))
            {
            //判断点击的是不是id是不是数据库中添加的菜单ID
                UserControl1 AAB = new UserControl1();
                return AAB;
            }
            return null;
        }
    }
}

第三步:部署
将程序集cheshi.dll拷贝到U8安装目录Portal目录下

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值