二十一、【.Net开源框架】EFW框架Web前端开发之目录结构和使用FireBug调试方法
EFW框架源代码下载V1.2:http://pan.baidu.com/s/1hcnuA
EFW框架实例源代码下载:http://pan.baidu.com/s/1o6MAKCa
前言:前面多章对EFW框架的核心类库作了详细说明,接下来几章将对框架中的前端及界面层功能进一步讲解,前端分为两个部分Web前端和Winform前端,Web前端主要是在Web系统中使用,就是编写Html代码和JS代码开发网页界面,框架推荐的是JqueryEasyUI作为界面框架;Winform前端在Winform(C/S)系统与WCF(C/S/S)系统中使用,使用DotNetBar2控件开发界面,后来为了满足业务功能需求在此基础上开发了一套自己的自定义控件;
本章从Web界面项目开始入手,包括项目的目录结构与JS代码利用firebug如何进行调试;会详细分析项目中的每个目录包括的代码文件以及为什么这么划分,有什么好处;
本文要点:
1.系统的完整目录结构说明
2.Conifg配置文件目录
3.ModulePlugin业务功能模块目录
4.WebPlugin界面组件目录
5.利用firebug如何调试系统
1.系统的完整目录结构说明

开发一个Web系统只需要两个项目即可,包括Books项目(逻辑层代码)与EFWWeb项目(界面层代码),Web控制器、ObjectModel、Entity和Dao的代码都放在Books项目中,并不单独拆分成项目;EFWWeb项目主要两部分内容,ModelPlugin业务模块插件和WebPlugin组件插件;
业务界面代码都放在ModelPlugin目录中,按模块划分,模块中的代码文件又分为aspx文件盒js文件,ModelPlugin目录中内置了框架中的基础功能,分为权限管理、报表管理、消息管理和基础数据;
Web组件功能都放在WebPlugin目录中,按组件划分,框架内置了一些常用的组件有Jquery、JqueryEasyUI、FusionCharts、ReportAll、JqueryMobile等;可以把你收集的web组件或自己开发的放在此目录即可;业务模块要使用的直接引用web组件的js文件就可以了;
总的来说为什么要把项目结构与文件目录都设计得这么少,都是为了让我们看了系统源代码第一印象就觉得非常简单、清晰,不会有那种打开解决方案就加载几十个项目,看着就怕了;
2.Conifg配置文件目录
Web系统的配置文件除了Web.Config,其他的都放在Config目录中;为了在开发中方便在解决方案中另外建了一个Config文件夹,并把Web系统的所有配置文件都添加到此文件夹中,这样我们就很方便找到配置文件作出修改配置;
其中:
1)Web.Config所有web系统中都有的一个配置文件,在这里有几个地方值得注意;

2)EntLib.config微软企业库的配置文件,这个文件一般不需要修改,只有其中的数据库连接字符串需要配置一下;

3)EFWUnity.config企业库中依赖注入的配置,根据具体的业务对象来配置;

3.ModulePlugin业务功能模块目录
EFW框架中内置了四个业务模块包括:
1)权限管理模块,UserLogin与RightManager
2)基础数据模块,BaseDataManager
3)报表管理模块,ReportManager
4)消息管理模块,SysMessage
有了这些模块之后,我们马上就能搭建一个成形的新系统,集中力量开发业务功能就行了;我们再看一个业务模块中aspx文件和js文件,一般来说都是一个界面文件aspx对应一个脚本文件js,aspx文件内容都是html标签实现界面的编写,js文件都是javascript代码使用Jquery作为主要开发方式,主要是实现向后台请求数据和展示数据;
4.WebPlugin界面组件目录
EFW框架中内置了一些常用的Web组件,有Jquery、JqueryEasyUI、FusionCharts、ReportAll、JqueryMobile等,下面的文章会详细讲解这些组件的使用;也可以先学习一下网上的资料:
1)JqueryEasyUI:http://www.jeasyui.com/
2)FunsionCharts:http://www.fusioncharts.com/
3)ReportAll:http://www.reportall.com.cn/
4)JqueryMobile;http://jquerymobile.com/
5.利用firebug如何调试系统
最后来介绍一些用firebug工具调试javascript代码和利用Ajax向后台控制器请求数据碰到的问题;
1)firebug介绍,个人一直觉得用firefox浏览器做web开发调试起来很方便,特别是firebug非常强大,让我感觉跟VS调试工具一样;怎么安装就不讲了,很简单网上搜索一下就知道了;安装好了之后就会出现一个虫子一样的图标,点击它就可以启用firebug进行调试;如下图:



见上面三张图,使我们在调试过程中用得最多的三个功能,
第一张图:控制台,会列出每一次向后台的请求操作,你可以查看请求发送的参数与接收的结果;查看代码有没有向后台发送请求看此处就能找到问题;
第二张图:HTML,查看页面运行后的HTML代码,一般代码写得很简单,但调试的时候看到的很复杂,很多标签都是动态生成的,由界面框架生成,如JqueryeasyUI;当编写了一个界面代码,但是显示的效果不是你想象中的那样,那么你就需要利用此功能查看生成的HTML查找原因,是由于哪个标签没写对了,还是样式调用得不对等;
第三张图:脚本,页面需要的js文件都可以在此功能中找到,调试就是在此处打断点,一步步运行查看变量的值与执行的过程;调试的操作跟VS工具差不多;
2)下面我就针对Books实例演示一下调试修改书籍这个功能
我们先在firebug中的Book.js文件的保存书籍的btn_save()方法中打上一个断点,再在后台VS工具中的Books项目中bookController文件中的SaveBook()方法也打上断点;

启动项目点击界面上的书籍保存按钮,断点先在firebug中执行,按F10单步执行,运行至formSubmit方法中向后台发送Http请求,这时候断点就跑到VS工具的SaveBook方法中了,按F5执行完后台SaveBook方法,断点又跑到firebug中的formSubmit方法中了,说明Http请求完成,保存数据成功;

注意:如果出现进入不了后台SaveBook断点,就一定要核对好Http请求的地址是否正确,项目有么有正常启动加载WebController,WebController上有没有加WebMethod自定义标签,这都是环环相扣的,多熟悉熟悉就搞清楚了;
二十一、【.Net开源框架】EFW框架Web前端开发之目录结构和使用FireBug调试方法的更多相关文章
- web前端开发分享-目录
1. web前端开发分享-css,js入门篇 2. web前端开发分享-css,js进阶篇 3. web前端开发分享-css,js提高篇 4. web前端开发分享-css,js工具篇 5. web前端 ...
- 【转】 web前端开发分享-目录
http://www.cnblogs.com/jikey/p/3613082.html 1. web前端开发分享-css,js入门篇 2. web前端开发分享-css,js进阶篇 3. web前端开发 ...
- 关于大型网站技术演进的思考(二十一)--网站静态化处理—web前端优化—下【终篇】(13)
本篇继续web前端优化的讨论,开始我先讲个我所知道的一个故事,有家大型的企业顺应时代发展的潮流开始投身于互联网行业了,它们为此专门设立了一个事业部,不过该企业把这个事业部里的人事成本,系统运维成本特别 ...
- 【转】关于大型网站技术演进的思考(二十一)--网站静态化处理—web前端优化—下【终篇】(13)
本篇继续web前端优化的讨论,开始我先讲个我所知道的一个故事,有家大型的企业顺应时代发展的潮流开始投身于互联网行业了,它们为此专门设立了一个事业部,不过该企业把这个事业部里的人事成本,系统运维成本特别 ...
- 【开源】EFW框架系列文章索引
开源轻量级.Net框架EnterpriseFrameWork详解 ——自己动手写框架 ——适合中小企业的开发框架 ——Ajax+JqueryEasyUI+NotNetBar+MVC+WebServic ...
- Web 前端开发人员和设计师必读精华文章【系列二十六】
<Web 前端开发精华文章推荐>2014年第5期(总第26期)和大家见面了.梦想天空博客关注 前端开发 技术,分享各类能够提升网站用户体验的优秀 jQuery 插件,展示前沿的 HTML5 ...
- Web前端开发中的MCRV模式(转)
作者: izujian 来源: baiduux 摘要:针对前端开发中基于ajax的复杂页面开发所面临的代码规模大,难以组织和维护,代码复用性.扩展性和适应性差等问题,本文尝试以MVC思想为 基础,结 ...
- 二十三、【开源】EFW框架Web前端开发之常用组件(FusionCharts图表、ReportAll报表等)
回<[开源]EFW框架系列文章索引> EFW框架源代码下载V1.2:http://pan.baidu.com/s/1hcnuA EFW框架实例源代码下载:http://pan ...
- 二十七(序幕)、【开源】EFW框架破茧成蝶
回<[开源]EFW框架系列文章索引> EFW框架源代码下载V1.3:http://pan.baidu.com/s/1c0dADO0 EFW框架实例源代码下载:http://p ...
随机推荐
- [BTS] SQL Adapter. New transaction cannot enlist in the specified transaction coordinator
The adapter "SQL" raised an error message. Details "New transaction cannot enlist in ...
- [BTS] EXCEPTION OBJECT_UNKNOWN RAISED
Today, I generate a RFC schema, an error throwed by WCF-SAP adapter wazard. Microsoft.Adapters.SAP.R ...
- Javascript--练习(包括主界面图片轮播效果)
练习一 例子1:做一个问题,如果输入的答案正确则弹出正确,错误弹出错误: 这里在text里面写了一个daan属性,里面存了答案的值,点击检查答案的时候cheak输入的内容和答案是否一样: Body中代 ...
- beego中orm关联查询使用解析
这两天在学习beego框架,之前学习的时候遗漏了很多东西,比如orm.缓存.应用监控.模板处理等,这里将通过实例记录下如何使用beego自带的orm进行关联查询操作. 首先说明下,beego的orm有 ...
- Spring之事件发布系统
springboot应用,启动spring容器大致有如下几个过程: 容器开始启动 初始化环境变量 初始化上下文 加载上下文 完成 对应的Spring应用的启动器的监听器可以监听以上的过程,接口如下: ...
- windows必备,命令行工具cmder
下载cmder并安装! 64位可下,亲测: http://www.wmzhe.com/soft-31133.html 创建文件夹并进入文件夹命令: mkdir web-server && ...
- PHP引号转义中解决POST,GET,Mysql数据自动转义问题
在处理mysql和GET.POST的数据时,常常要对数据的引号进行转义操作. PHP中有三个设置可以实现自动对’(单引号),”(双引号),\(反斜线)和 NULL 字符转转. PHP称之为魔术引号,这 ...
- 如何实现在H5里调起高德地图APP?(下)
这一篇文章将告诉您,如果直接打开高德地图APP,并展示路线规划.适合有定位的移动设备,可以查询到从“我的位置”到目的地的路径规划,并直接导航. 场景二.调起高德地图的路线规划功能 导航是目前JSAPI ...
- Access to the path '20141211142713.gif' is denied.
给network service加上读写权限即可
- Ceph monitor故障恢复探讨
1 问题 一般来说,在实际运行中,ceph monitor的个数是2n+1(n>=0)个,在线上至少3个,只要正常的节点数>=n+1,ceph的paxos算法能保证系统的正常运行.所以,对 ...