最近花了很多时间在重构和进一步提炼Winform开发框架的工作上,加上时不时有一些项目的开发工作,我博客里面介绍Web开发框架的文章比较少,其实以前在单位工作,80%的时间是做Web开发的,很早就形成了自己的一套Web开发框架,但是由于一些个人原因,一直没有来得及好好整理和推广,其实那套Web开发框架对大多数企业信息化还是很有帮助的,包括了整体性的框架布局、样式,以及权限控制、菜单管理、字典管理、工作流审批管理等常见模块,不过总体觉得技术上是采用asp.net的Webform技术,因此现在MVC大行其道,一直想把它彻底改造过来,本文是介绍基于MVC4+EasyUI的最新版Web开发框架的一系列形成过程,期间包括一些MVC4技术,EasyUI技术,JQuery技术,以及一些我对整体框架改造的基础性东西,力求更加稳定、通用、高效、简洁,最少的代码做最多的事情。

1、旧的Web开发框架回顾

在原先的Web框架里面,主要是采用FrameSet的原始方式进行布局,很多内容依靠Javascript类库进行操作,小部分采用了EasyUI的一些特性,总体来说,是比较传统的一种框架模式,这个框架里面我已经集成了用户角色等权限方面的管理和控制、菜单管理、字典管理、业务流程审批管理等模块,因此对开发常规的行业应用有着比较快的开发效率,不过缺点也比较明显,就是在多浏览器支持方面,没有做的很好,框架里面采用的布局、样式及技术等方面不够统一,不够新颖,但即使这样,这套框架也顺利用来开发了几套很大规模的行业应用了,项目的大概布局和样式,如下所以。

在Ajax技术如火如荼的时候,我也常常觉得,应该结合一些新的技术特点,来改造一下我自己的框架,因此,使用了纯粹的AJax技术+Asp.NET的“一般处理程序”,也就是ashx的C#后台处理 + HTML的页面来实现数据的处理和显示操作,于是我调整开发了Web的权限系统作为实验(详细可参考《Web开发框架之权限管理系统》一文的介绍,界面效果如下所示。

这种框架的布局其实已经是利用了比较潮的EasyUI界面布局,得到一些老客户的支持和鼓励,不过我觉得如果把框架全部调整为这种HTML+AJax+ASHX处理方式,我觉得还是挺麻烦的,而且逐渐MVC这一技术已经越来越成熟和应用更广泛了,因此整体性使用MVC来处理,可能能够带来更好的效率和减少复杂性。

不过我觉得使用EasyUI来实现这样的布局,以及模块的分页面展示(类似Winform的多文档管理,且可以右键菜单进行多种关闭页面)的方式,对一些企业应用、行业管理系统、单位信息化系统,应该是比较不错的界面展示了,相对于上面第一种的框架界面,这种更具有浏览器兼容性,能够适应多浏览器的展现,这样整个世界就清净很多了。

2、基于MVC+EasyUI的框架效果

因此为了搭建整个MVC+EasyUI等技术结合的Web开发框架,就从我原先开发的Web的通用权限管理系统进行改进,来实现整个开发框架的预演了。首先我利用Winform权管理系统的业务逻辑等底层模块,在这个基础上开发基于MVC的Web项目,也就是界面层以下的逻辑我们暂且不考虑,专注MVC带来的变化。

下面的项目工程文件视图,是我做好的,基于MVC4+EasyUI的最新的Web权限管理系统。

运行系统后,登录界面和主界面如下所示。

我们知道,一般信息管理系统都是需要分页显示,编辑,查看等内容的,这些使用EasyUI来实现效果还是比较好的。下面我以一个登录日志的模块来展示分页处理和弹出对话框,展示信息。

编辑界面效果如下所示。

如果查看信息,则不需要编辑框了,直接用Lable展示即可,如下所示。

这些就是整个改造后的权限系统里面的一些截图界面,权当做一个总体性的概括,不设计技术实现的任何东西,下篇开始,着重介绍MVC项目中设计到的一些技术实现和经验总结,希望大家多多支持。

基于MVC4+EasyUI的Web开发框架的系列文章:

基于MVC4+EasyUI的Web开发框架形成之旅--总体介绍

基于MVC4+EasyUI的Web开发框架形成之旅--MVC控制器的设计

基于MVC4+EasyUI的Web开发框架形成之旅--界面控件的使用

基于MVC4+EasyUI的Web开发框架形成之旅--附件上传组件uploadify的使用

基于MVC4+EasyUI的Web开发框架形成之旅--框架总体界面介绍

基于MVC4+EasyUI的Web开发框架形成之旅--基类控制器CRUD的操作

基于MVC4+EasyUI的Web开发框架形成之旅--权限控制

基于MVC4+EasyUI的Web开发框架经验总结(1)-利用jQuery Tags Input 插件显示选择记录

基于MVC4+EasyUI的Web开发框架经验总结(2)- 使用EasyUI的树控件构建Web界面

基于MVC4+EasyUI的Web开发框架经验总结(3)- 使用Json实体类构建菜单数据

基于MVC4+EasyUI的Web开发框架经验总结(4)--使用图表控件Highcharts

基于MVC4+EasyUI的Web开发框架经验总结(5)--使用HTML编辑控件CKEditor和CKFinder

基于MVC4+EasyUI的Web开发框架经验总结(6)--在页面中应用下拉列表的处理

基于MVC4+EasyUI的Web开发框架经验总结(7)--实现省份、城市、行政区三者联动

基于MVC4+EasyUI的Web开发框架经验总结(8)--实现Office文档的预览

基于MVC4+EasyUI的Web开发框架经验总结(9)--在Datagrid里面实现外键字段的转义操作

基于MVC4+EasyUI的Web开发框架经验总结(10)--在Web界面上实现数据的导入和导出

基于MVC4+EasyUI的Web开发框架经验总结(11)--使用Bundles处理简化页面代码

基于MVC4+EasyUI的Web开发框架经验总结(12)--利用Jquery处理数据交互的几种方式

基于MVC4+EasyUI的Web开发框架经验总结(13)--DataGrid控件实现自动适应宽带高度

基于MVC4+EasyUI的Web开发框架经验总结(14)--自动生成图标样式文件和图标的选择操作

基于MVC4+EasyUI的Web开发框架形成之旅--总体介绍的更多相关文章

  1. (转)基于MVC4+EasyUI的Web开发框架形成之旅--总体介绍

    http://www.cnblogs.com/wuhuacong/p/3281103.html 最近花了很多时间在重构和进一步提炼Winform开发框架的工作上,加上时不时有一些项目的开发工作,我博客 ...

  2. 基于MVC4+EasyUI的Web开发框架形成之旅--附件上传组件uploadify的使用

    大概一年前,我还在用Asp.NET开发一些行业管理系统的时候,就曾经使用这个组件作为文件的上传操作,在随笔<Web开发中的文件上传组件uploadify的使用>中可以看到,Asp.NET中 ...

  3. 基于MVC4+EasyUI的Web开发框架形成之旅--MVC控制器的设计

    自从上篇<基于MVC4+EasyUI的Web开发框架形成之旅--总体介绍>总体性的概括,得到很多同行的关注和支持,不过上一篇主要是介绍一个总体的界面效果和思路,本系列的文章将逐步介绍其中的 ...

  4. 基于MVC4+EasyUI的Web开发框架形成之旅--界面控件的使用

    在前面介绍了两篇关于我的基于MVC4+EasyUI技术的Web开发框架的随笔,本篇继续介绍其中界面部分的一些使用知识,包括控件的赋值.取值.清空,以及相关的使用. 我们知道,一般Web界面包括的界面控 ...

  5. 基于MVC4+EasyUI的Web开发框架形成之旅--框架总体界面介绍

    在前面介绍了一些关于最新基于MVC4+EasyUI的Web开发框架文章,虽然Web开发框架的相关技术文章会随着技术的探讨一直写下去,不过这个系列的文章,到这里做一个总结,展示一下整体基于MVC4+Ea ...

  6. 基于MVC4+EasyUI的Web开发框架形成之旅--基类控制器CRUD的操作

    在上一篇随笔中,我对Web开发框架的总体界面进行了介绍,其中并提到了我的<Web开发框架>的控制器的设计关系,Web开发框架沿用了我的<Winform开发框架>的很多架构设计思 ...

  7. 基于MVC4+EasyUI的Web开发框架形成之旅--权限控制

    我在上一篇随笔<基于MVC4+EasyUI的Web开发框架形成之旅--框架总体界面介绍>中大概介绍了基于MVC的Web开发框架的权限控制总体思路.其中的权限控制就是分为“用户登录身份验证” ...

  8. 转--基于MVC4+EasyUI的Web开发框架形成之旅--界面控件的使用

    原文  http://www.cnblogs.com/wuhuacong/p/3317223.html 基于MVC4+EasyUI的Web开发框架形成之旅--界面控件的使用 在前面介绍了两篇关于我的基 ...

  9. (转)基于MVC4+EasyUI的Web开发框架形成之旅--MVC控制器的设计

    http://www.cnblogs.com/wuhuacong/p/3284628.html 自从上篇<基于MVC4+EasyUI的Web开发框架形成之旅--总体介绍>总体性的概括,得到 ...

随机推荐

  1. linux下tar.gz、tar、bz2、zip等解压缩、压缩命令小结

    Linux下最常用的打包程序就是tar了,使用tar程序打出来的包我们常称为tar包,tar包文件的命令通常都是以.tar结尾的.生成tar包后,就可以用其它的程序来进 行压缩了,所以首先就来讲讲ta ...

  2. nginx 缓存机制

    nginx 缓存机制   Nginx缓存的基本思路 利用请求的局部性原理,将请求过的内容在本地建立一个副本,下次访问时不再连接到后端服务器,直接响应本地内容 Nginx服务器启动后,会对本地磁盘上的缓 ...

  3. Spring4.1.0 整合quartz1.8.2 时 : class not found : org.springframework.scheduling.quartz.JobDetailBean

    最近做一个 Spring4.1.0 集成 quartz1.8.2 定时器功能,一直报 class not found : org.springframework.scheduling.quartz.J ...

  4. MYSQL常见错误及其解决方式

    欢迎和大家交流技术相关问题: 邮箱: jiangxinnju@163.com 博客园地址: http://www.cnblogs.com/jiangxinnju GitHub地址: https://g ...

  5. Linux 远程登录

    Linux一般作为服务器使用,而服务器一般放在机房,你不可能在机房操作你的Linux服务器. 这事我们就需要远程登录到Linux服务器来管理维护系统. Linux系统中是通过ssh服务实现的远程登录功 ...

  6. angularjs数据异步加载时的绑定事件

    // 顶级菜单项的鼠标移入和移出操作 $(document).on({ mouseover: function () { ; ; if (top + $(this).children('ul').ou ...

  7. Launch Screen在iOS7/8中的实现

    Launch Screen在iOS7/8中的实现 目前项目中需要解决的问题是: 兼容iOS7和iOS8,之前的版本不需要支持了 实现兼容3.5.4.4.7和5.5寸屏幕,竖屏的Lauch Screen ...

  8. iOS开发Swift篇—(五)元组类型

    iOS开发Swift篇—(五)元组类型 一.元组类型介绍 1.什么是元组类型 元组类型由 N个 任意类型的数据组成(N >= 0),组成元组类型的数据可以称为“元素” 示例: let posit ...

  9. find_in_set()

    $where[]="find_in_set('".$grades."',a.grades)";

  10. Python开发入门与实战12-业务逻辑层

    12. Biz业务层 前面的章节我们把大量的业务函数都放在了views.py里,按照目前这一的写法,当我们编写的系统复杂较高时,我们的views.py将会越来越复杂,大量的业务函数包含其中使其成为一个 ...