二十一、【.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 ...
随机推荐
- maven nexus 3 third party 构件上传
mvn -e deploy:deploy-file -DgroupId=com.oracle -DartifactId=JDBCDriver -Dversion=12.0.1 -Dpackaging= ...
- Javascript构造函数与prototype
构造函数 构造函数的缺点 prototype的引入 Prototype模式的验证方法 构造函数 在Javascript语言中,new命令后面跟的不是类,而是构造函数(constructor). 构造函 ...
- [原创]移动应用测试技术圈QQ群:211828629
[原创]移动应用测试技术圈QQ群:211828629 移动应用测试技术圈QQ群:211828629,研究ios,android,winphone等平台测试技术,涉及功能/性能/安全/自动化/用户体验 ...
- vs2012 MSDN帮助文档离线包下载安装方法
vs2012安装文件 自带的 MSDN帮助文档不全, 需要自己手动添加需要的离线文档包, 具体方法如下 1. 打开 vs2012 2. 按 ctrl + alt + F1 打开帮助文档管理器 3. 在 ...
- typeid详解
在揭开typeid神秘面纱之前,我们先来了解一下RTTI(Run-Time Type Identification,运行时类型识别),它使程序能够获取由基指针或引用所指向的对象的实际派生类型,即允许“ ...
- 一种可以避免数据迁移的分库分表scale-out扩容方式
原文地址:http://jm-blog.aliapp.com/?p=590 目前绝大多数应用采取的两种分库分表规则 mod方式 dayofweek系列日期方式(所有星期1的数据在一个库/表,或所有?月 ...
- PHP多次调用Mysql存储过程报错解决办法
PHP多次调用Mysql数据库的存储过程会出现问题,主要问题为存储过程中执行多次SQL语句不能一一释放导致的,网上找了一些解决办法,比如使用 multi_query 然后一个一个释放,但是发现根本不适 ...
- Codeforces Round #292 (Div. 1) C. Drazil and Park 线段树
C. Drazil and Park 题目连接: http://codeforces.com/contest/516/problem/C Description Drazil is a monkey. ...
- 使用nginx-http-concat优化网站响应
前言: 我们在访问淘宝的时候,会看到代码中的js和css文件是通过一次请求或得的,我们知道浏览器一次请求只能并发访问数个资源,这样的处理错输在网络传输层面可以大大节省时间,这里使用的技术就是把css. ...
- paypal之nodejs 框架 Kraken-js 源码分析
本文是基于 kraken-js 0.6.1 版本的 关于如何使用kraken-js 可以去看看官网的使用文档 点击这里 .kraken-js 是基于express之上的,目的在于让工程师更多的去关注代 ...