ASP.NET开源框架之HIPPO技术内幕(六)--后台管理与前台展示
六、后台管理与前台展示
到上一章为止,已经讲了本系统的各个组成部分,包括数据库连接及控件等,所有这些成果马上就要展示在我们的面前了。
所有的管理功能,均由后台管理程序来实现。后台管理平台本身就是一个可以扩展的平台,客户拿到手后,可以自己扩展。
后台管理平台是一个frame框架,在左侧是菜单,右面是需要显示的正文,左侧菜单封装了一个控件,这个控件首先读取系统表中的菜单内容:ZR_FUNCTION,在这个表中,规定了菜单的ID及名字等,同时因为菜单是一个树状结构,所以在此表中,还有一个PARENT_ID字段用于形成一个树形结构。在这个表中,同时规定了菜单项的功能,可以打开一个aspx页面,也可以直接展示一个CONTENT_TYPE,可以有不同的调用方法。
在读取菜单内容的时候,会根据登录用户的权限进行过滤,只列出他可以使用的功能菜单,保证不会越权使用。
在菜单项中,专门列出了对META-DATA的维护,用户完全可以在这里对元数据进行配置,因为IIS的关系,在配置完成之后,需要刷新一下cache,在系统管理菜单中有专门这项功能。在登录的时候,系统会自动把一些常用的内容从数据库里读取出来放入内存中,所以显得刷新重要性。
菜单的控件也是从其它的专业控件继承得来,所以每次与客户端的数据传输量比较大,在网络条件不太好的时候,有可能会造成菜单传输不完整,从而产生JavaScript错误,为此,我在管理程序的界面上加了一个按钮“重新加载菜单”,在这上面加一个连接,left.aspx,同时把frame设成LEFT,即可以实现对菜单的刷新。
在管理程序中,有一个亮点,就是MDI窗体的效果,这在BS程序中,可以算是挺实用的一个功能,它与GreenBrowser的方式不同,我这种方式,可以共享左侧的菜单。MDI控件也是从一个Tab控件继承,并加上大量的JavaScript才实现了这个效果。
在前台展示方面,和后台有所不同,需要用户自己写程序实现,当然可以在系统自带的DEMO基础上去修改得来。
前台的程序开发,主要是调用系统的框架函数,如User类,Content类等,其实和写一个一般的ASPX程序没有什么区别,只是大大的简化了开发的难度,缩短了开发周期,并减少了出错的可能性。
因为前台的网站考虑的是开放给大众来使用,与后台的管理程序不同,后台主要是给公司的管理人员使用,所以在开发策略上也有所不同:后台的使用用户很少,所以可以不太考虑流量的占用,而前台会员的用户量可能会相当大,所以在设计上一定要考虑的是,不能占用过多的带宽,能用10K表达的页面,绝对不能使用100K,所以不能放入太多的客户化控件,尽量使用标准的HTML写法,正因为这点,我所设计的很多的控件只会出现在后台管理程序中,前台不建议调用。
在多语言方面,前台与后台的实现方式基本相同,全是使用多语言章节中的方式。
七、总结
HIPPO是本人多年软件开发经验的积累,吸收了多个大型系统的优点和特点,但是由于个人精力有限,还有很多很好的想法目前还正在实现之中,当然还有许多很好的功能,因为篇幅关系,在此不再多说了,有兴趣可以直接与本人交流。本人的邮件: zrsoftcn@yahoo.com.cn
李鸣(aicken)原创 转载注明
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· [AI/GPT/综述] AI Agent的设计模式综述