博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
看过《大湿教我写.net通用权限框架(1)之菜单导航篇》之后发生的事(续)——主界面...
阅读量:6567 次
发布时间:2019-06-24

本文共 6935 字,大约阅读时间需要 23 分钟。

引言

在UML系列学习中的小插曲:

在上篇中只拿登录界面练练手,不把主界面抠出来,实在难受,严重的强迫症啊。之前一直在总结UML系列,也没把主要精力放在这上面,最近腾出了点时间,整理一下,一是学习,二是张张姿势。

晒图

原图:

LZ纯F12呕心后力作:

数据库设计

1 GO 2  3 /****** Object:  Table [dbo].[TB_EventInfo]    Script Date: 12/02/2013 20:57:44 ******/ 4 SET ANSI_NULLS ON 5 GO 6  7 SET QUOTED_IDENTIFIER ON 8 GO 9 10 SET ANSI_PADDING ON11 GO12 13 CREATE TABLE [dbo].[TB_EventInfo](14     [EventId] [varchar](50) NOT NULL,15     [ParentId] [varchar](50) NOT NULL,16     [Code] [varchar](50) NULL,17     [FullName] [varchar](50) NOT NULL,18     [Description] [varchar](50) NULL,19     [Img] [varchar](50) NULL,20     [Category] [varchar](50) NULL,21     [NavigateUrl] [varchar](200) NULL,22     [FormName] [varchar](200) NULL,23     [Target] [varchar](50) NULL,24     [IsUnfold] [int] NULL,25     [AllowEdit] [int] NULL,26     [Enabled] [int] NULL,27     [SortCode] [int] NULL,28     [DeleteMark] [int] NULL,29     [CreateDate] [datetime] NULL,30     [CreateUserId] [varchar](50) NULL,31     [CreateUserName] [varchar](50) NULL,32     [ModifyDate] [datetime] NULL,33     [ModifyUserId] [varchar](50) NULL,34     [ModifyUserName] [varchar](50) NULL,35     [AllowDelete] [int] NULL,36  CONSTRAINT [PK_TB_MenuEvent] PRIMARY KEY CLUSTERED 37 (38     [EventId] ASC39 )WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]40 ) ON [PRIMARY]41 42 GO43 44 SET ANSI_PADDING OFF45 GO46 47 ALTER TABLE [dbo].[TB_EventInfo] ADD  CONSTRAINT [DF_MenuEvent_Enabled]  DEFAULT ((1)) FOR [Enabled]48 GO49 50 ALTER TABLE [dbo].[TB_EventInfo] ADD  CONSTRAINT [DF_MenuEvent_DeleteMark]  DEFAULT ((1)) FOR [DeleteMark]51 GO52 53 ALTER TABLE [dbo].[TB_EventInfo] ADD  CONSTRAINT [DF_MenuEvent_CreateDate]  DEFAULT (getdate()) FOR [CreateDate]54 GO

数据库在的文章中字段有相关说明,可以使用。

这里有id和parentID 猜都猜出来是怎么回事!

DT的iframe

在主界面中,右侧显示部分用到了iframe,查看源码,着实费了不少功夫,关于iframe的使用,以及父页面怎么通过js访问到子页面的方法等通过努力还是让我给解决了。通过这个过程,也学到不少东西。

这里只将主界面的代码贴出来分享一下。iframe中嵌套的页面,大家可以去的文章《》中有提供相关链接,希望自己动手也尝试一下。

1   2   3   4   5     
6
7 .NET快速信息化系统开发框架 8 9
10
11 12
13 14 15 16 17 18 72 73 74
75
76
77
78 79
80
107
108
109
110
1900年01月01日 00:00:00111
112
113
114
    115
116
117
118
120  121
123  124
125
126
127
128
129
130
140
141 142
143
144
145
146  
技术支持:北京能力信息科技有限公司147
148  专业版 V1.1149 150
151  
问题反馈152
153
154
157
158
159 操作员:Wolfy[admin]160
161 所在部门:IT信息部162
163 在线人数:
164
165
166
167
168
169
 正在处理,请稍待 170
171
172
173
174
175
176 177
MainForm

在用iframe的时候,总是弹出TypeError:不支持属性和方法。

罪魁祸首:

1             ////子菜单 2         function GetSubmenu(menu_id, menu_Name) { 3  4             try { 5                 //iframe导向 tabs_iframe_Imain 6                 top.tabs_iframe_Imain.LoadSubmenu(MenuJson, menu_id, menu_Name);//子功能选项 7             } catch (e) { 8                 alert(e.message) 9             }10         }

因为找不到tabs_iframe_Imain才出现的这个错误。研究了很久,发现将表单红的代码用一个div包起来就解决问题了。

原因:

1 $(document).ready(function () {2             AddTabMenu('Imain', 'MainTouchSubmenu.aspx', '首页主控台', '4963_home.png', 'false');3             $("#tabs_iframe_Imain").css('margin-top', '0px').css('margin-left', '0px');4             iframeresize();5             writeDateInfo();6 7         });

因为这里面的Imain,AddTabMenu方法中,标签的id是拼接的,猜想是找不到Imain所以找不到iframe吧。具体原因没深入研究。

遇到的问题

在上篇文章中,很多博友推荐我使用工具,可能是LZ太笨了,工具不会用啊.....而有些工具下载下来的图片都不全,lz也只能查看html代码,css代码把一个一个图片给扣下来(这里只扣了权限应用里面的)。其他的实在不想弄了,太多了.....懒啊。图片大小差不多,就是实现功能,那些都是次要的。只要不影响主界面布局,都是次要的。

其它就个人发挥,使用easyUI来展示了。

刚将datagrid弄到人员管理的页面中,也晒晒,样式什么的都没调。

 dataGrid表头信息的html代码:

1  
5
6
7 <%=tbHeadHtml %> 8
9
10

cs代码:

1  public partial class EmployeeList : System.Web.UI.Page 2     { 3         protected string tbHeadHtml = string.Empty; 4         protected void Page_Load(object sender, EventArgs e) 5         { 6             if (!IsPostBack) 7             { 8                 Type type = typeof(Model.UserInfoModel); 9                 foreach (PropertyInfo item in type.GetProperties())10                 {11                     foreach (Attribute des in item.GetCustomAttributes())12                     {13                         DescriptionAttribute d = des as DescriptionAttribute;14                         tbHeadHtml += "" + d.Description + "";15                     }16                 }17             }18         }19     }

用户信息UserInfo主要用到特性:DescriptionAttribute。通过反射将信息拼接到html上面。字段太多,不想一个一个的写啊。又懒了......

之前看书看到特性的用法,一直想特性用到什么地方好呢?这里面就现学现卖了。有点非主流了,不过用起来挺爽的。特性介绍篇:

      

总结

一直在都想弄一个权限管理的框架,一是学习,二是张张姿势。

lz很懒,能偷懒的地方就偷懒了。这里就不再提供源码下载了,涉及作者的版权问题。需要的还请购买正版。呵呵。

转载于:https://www.cnblogs.com/wolf-sun/p/3454638.html

你可能感兴趣的文章
《计算机科学与工程导论:基于IoT和机器人的可视化编程实践方法第2版》一第1章 职业发展机会和团队建设...
查看>>
HBase BlockCache系列 - 探求BlockCache实现机制
查看>>
【参与有奖】您用的MySQL、MongoDB、Redis等服务被勒索过吗?
查看>>
Java核心技术卷I基础知识1.2.6 体系结构中立
查看>>
Libvirt 虚拟化库介绍
查看>>
Xmemcached发布1.2.6.1(推荐升级)
查看>>
《Spring 5 官方文档》26. JMS(一)
查看>>
《Python Cookbook(第2版)中文版》——1.11 检查一个字符串是文本还是二进制
查看>>
Tkinter之Label
查看>>
PostgreSQL merge json的正确姿势
查看>>
java反射
查看>>
【IOS-COCOS2D游戏开发之二】COCOS2D 游戏开发资源贴(教程以及源码)
查看>>
nodejs安装记录
查看>>
Android2.2 API 中文文档系列(9) —— ZoomButton
查看>>
pcDuino 刷系统-卡刷
查看>>
MySQL结构自动同步工具-schemasync
查看>>
关于在线代码运行网站的一个想法
查看>>
我的友情链接
查看>>
使用subeclipse来管理分支/标记
查看>>
我的友情链接
查看>>