大湿教我写程序5之按钮权限控制篇附上权限系统图片素材和按钮控制前端源码Word文件下载.docx
- 文档编号:4743548
- 上传时间:2023-05-04
- 格式:DOCX
- 页数:15
- 大小:18.58KB
大湿教我写程序5之按钮权限控制篇附上权限系统图片素材和按钮控制前端源码Word文件下载.docx
《大湿教我写程序5之按钮权限控制篇附上权限系统图片素材和按钮控制前端源码Word文件下载.docx》由会员分享,可在线阅读,更多相关《大湿教我写程序5之按钮权限控制篇附上权限系统图片素材和按钮控制前端源码Word文件下载.docx(15页珍藏版)》请在冰点文库上搜索。
以前教你做菜单导航的时候不都是动态加载的么,一样的拼接html代码。
详细设计
“哦哦,昨晚睡太晚,把这个给忘了,别说了我自己来做吧”
开工了,听大湿这么一说,这个动态控制按钮权限就跟动态菜单权限非常一样了。
分成三步:
1、建立按钮基本信息:
定义按钮大小、显示图片、显示文字。
表结构如下:
CREATETABLE[dbo].[BPMS_Button](
[ButtonId][varchar](50)NOTNULL,
[FullName][varchar](50)NOTNULL,
[Img][varchar](50)NULL,
[Event][varchar](200)NULL,
[Control_ID][varchar](50)NOTNULL,
[Category][varchar](50)NOTNULL,
[Split][int]NULL,
[Description][varchar](200)NULL,
[Enabled][int]NULL,
[SortCode][int]NULL,
[DeleteMark][int]NULL,
[CreateDate][datetime]NULL,
[CreateUserId][varchar](50)NULL,
[CreateUserName][varchar](50)NULL,
[ModifyDate][datetime]NULL,
[ModifyUserId][varchar](50)NULL,
[ModifyUserName][varchar](50)NULL,
CONSTRAINT[PK_BPMS_BUTTON]PRIMARYKEYNONCLUSTERED
(
[ButtonId]ASC
)WITH(PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFF,IGNORE_DUP_KEY=OFF,ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKS=ON)ON[PRIMARY]
)ON[PRIMARY]GOSETANSI_PADDINGOFF
GOEXECsys.sp_addextendedproperty@name=N'
MS_Description'
@value=N'
按钮主键'
@level0type=N'
SCHEMA'
@level0name=N'
dbo'
@level1type=N'
TABLE'
@level1name=N'
BPMS_Button'
@level2type=N'
COLUMN'
@level2name=N'
ButtonId'
按钮名称'
FullName'
按钮图标'
Img'
按钮事件'
Event'
控件ID'
Control_ID'
分类'
Category'
是否分开'
Split'
描述'
Description'
有效:
1-有效,0-无效'
Enabled'
排序吗'
SortCode'
删除标记:
1-正常,0-删除'
DeleteMark'
创建时间'
CreateDate'
创建用户主键'
CreateUserId'
创建用户'
CreateUserName'
修改时间'
ModifyDate'
修改用户主键'
ModifyUserId'
修改用户'
ModifyUserName'
操作按钮'
GO
重点字段说明:
按钮名称:
按钮对应的名称
按钮图标:
显示的都是图片按钮,动态拼按html代码时根据这个字段去找到对应的图标
按钮事件:
按钮要响应的JS事件
控件ID:
控件对应的ID
分类:
哪一类的按钮,菜单栏还是工具栏
排序码:
按钮排第几个
前台界面设计:
2、建立按钮与模块对应关系:
即当前页面上有哪些按钮是可以显示的,显示的前后顺序。
表结构:
CREATETABLE[dbo].[BPMS_SysMenuButton](
[SysMenuButtonId][varchar](50)NOTNULL,
[MenuId][varchar](50)NULL,
[ButtonId][varchar](50)NULL,
[SortCode][int]NOTNULL,
CONSTRAINT[PK_BPMS_SYSMENUBUTTON]PRIMARYKEYNONCLUSTERED
[SysMenuButtonId]ASC
菜单导航按钮关系主键'
BPMS_SysMenuButton'
SysMenuButtonId'
菜单主键'
MenuId'
发生时间'
排序码'
菜单导航操作按钮关系表'
菜单主键:
对应菜单的主键
按钮主键:
按钮的主键
按钮排在第几个这里当你在前台勾选一个按钮,后台就记录下了菜单和这个按钮的对应关系
到了菜单权限分配界面,根据选定的菜单ID从数据库中获取含该菜单主键的所有有效记录,再根据按钮表拼接html代码,前端将有关按钮全部显示出来
界面设计:
这里讲一下勾选的按钮,按钮按下去之后就会变颜色,并且上面出现一个小勾。
这其实是两个div合成的。
如何加载这些按钮请见如下动态拼接html代码
publicvoidInitButton()
{
DataTabledt=bpms_sysmenubuttonibll.GetListWhere(_Menu_Id);
if(DataTableHelper.IsExistRows(dt))
for(inti=0;
i&
lt;
dt.Rows.Count;
i++)
stringcheckbuttonNo="
checkbuttonNo"
;
stringtriangleNo="
triangleNo"
if(CommonHelper.GetDateTime(dt.Rows[i]["
IsExist"
])&
DateTime.Now)
checkbuttonNo="
checkbuttonOk"
triangleNo="
triangleOk"
}
if(dt.Rows[i]["
Category"
].ToString()=="
工具栏"
)
htmlButtontoolbar.Append("
&
divtitle=\"
"
+dt.Rows[i]["
Description"
]+"
\"
class=\"
+checkbuttonNo+"
panelcheck\"
gt;
);
divid=\"
ButtonId"
checktext\"
imgsrc=\"
../../Themes/Images/16/"
Img"
/&
FullName"
/div&
divclass=\"
+triangleNo+"
elseif(dt.Rows[i]["
右击菜单栏"
htmlButtonApplication.Append("
通过以上这段代码就可以看得很明白,按钮由div组成,首先从数据库中加载菜单对应的记录。
根据记录中的按钮ID去获取按钮表中的基础数据,然后拼接html代码,就可以得到一个个按钮,这里需要注意的一点是:
已分配的按钮和未分配的按钮样式是不一样的,所以在拼接的时候进行一个判断,然后根据结果去加载不同的CSS样式。
下面是CSS样式
/*自定义复选框*/
.checkbuttonNo{
margin:
5px;
width:
auto;
border:
solid3px#ccc;
h
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 大湿教 程序 按钮 权限 控制 附上 系统 图片素材 前端 源码