ASP.NET Web开发框架:功能导航
【IT168技术】功能导航主要解决如何布局功能,把功能如何合理的布置到页面中。现在流行的一种方案是左右结构的导航,左边树状的菜单,右边显示明细功能。实现出来的效果图如下所示:
同版本的C/S程序的界面,也是以同样的效果出现。
Web左边点击树节点,右边打开相应的功能列表,显示该节点下面有哪些功能。而这些功能节点,均是用菜单设计器设计实现,以方便客户定制主界面。菜单设计器的设计样式如下。
关于如何实现树节点的母子关系,有很多办法。一种办法是给树的每个节点加一个ParentId,用于指示它的上一级节点,这样每设计一个节点,均需要指出它的父节点,以用于呈现母子关系。另一种方法,以本例子中实现为例子,1002为Sales的树节点,它的子节点全部用1002XX来标识,如上图中所示,100201表示日记帐,100202表示报表,100203表示查询。前一种方法,请参考框架数据库中的表X_Menu,后一种请参考表UserGroupMenu。
导航的另一个目的,要实现中英文自动切换,以方便不同的用户习惯偏好。Enterprise Solution系列的组件,均内置了中英文切换的功能,可以在Settings中,选择习惯的语言进行设置。对于Web应用程序,用户的语言偏好保存在浏览器的Cookie中,对于C/S程序,用户的语言偏好保存在注册表中。
再来看看,如何快速的找到需要的功能,并打开执行它。如果您习惯在左边的菜单中查找,则可以直接在菜单对应的右边的功能列表区域中,打开该功能。另一种方法是,在快速启动栏中输入功能编码,点击Go按钮,此时,它会在新的选项中页面中,打开此功能。一般来说,系统预置了三种类型的功能
• 页面功能
• 报表
• 自定义查询
如何让一个ASP.NET页面成为功能点,并自动被系统框架找到呢?请参考下面的例子代码。
给页面加Function特性,第一个参数是功能编码,第二个参数是页面的绝对地址。当在快速启动栏中输入AIITRL时,框架会找到(反射)此页面,并在新的选项卡页面中打开加载此功能。