二十一、【.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 ...
随机推荐
- 酷派大神F2系列使用QPST进行nv备份和恢复,解决无信号问题(附备份文件)
测试机器: 大神F2联通版 8675_W00 系统COOLUI55 写贴原因: 自己无意间刷错了包,结果手机无信号,进入工程模式怎么设置都没有用.尝试过系统还原(备份过).刷新的ROM.线刷, ...
- js使用转义符技巧输出HTML
有时候我们需要使用js输出html代码,会涉及一些标签.变量. 对于很长的html代码,为了让js具有较好的可读性,需要在js里对html代码进行一定的拆分.拼接. 简单明了版 通常我们这样做 var ...
- paip.php 与js 的相似性以及为什么它们这么烂还很流行。。
paip.php 与js 的相似性以及为什么它们这么烂还很流行.. php与js异常的流行,web 90%都被他们统治了.发现了他们有意思的一些共性.. 结构一番总结,得出了它们共有的特点.特性: = ...
- Python之Django【基础篇】
Python的WEB框架有Django.Tornado.Flask 等多种,Django相较与其他WEB框架其优势为:大而全,框架本身集成了ORM.模型绑定.模板引擎.缓存.Session等诸多功能. ...
- FreeCodeCamp 中级算法(个人向)
freecodecamp 中级算法地址戳这里 Sum All Numbers in a Range 我们会传递给你一个包含两个数字的数组.返回这两个数字和它们之间所有数字的和. function su ...
- FindFriendsServer服务搭建
本文介绍如何搭建FindFriendsServer(https://github.com/hnrainll/FindFriendsServer)所需的环境. 环境需要: Windows+Apache+ ...
- 成功在神舟K650c-i7 d2(i7-4700MQ、HM87)上装好了Windows XP
成功在神舟K650c-i7 d2(i7-4700MQ.HM87)上装好了Windows XP 本来已经在K650c上装好了Windows7.Windows8双系统,奈何某些旧软件只能在Windows ...
- 一个3D的多人在线游戏, 服务端 + 客户端 【转】
最近学院组织了一个实训,要求是利用Socket通信和D3D的知识, 写一个多人在线的游戏, 服务端是在linux下, 客户是在Windows下: 写这个的目的是想让大家给我找错, 欢迎大家的意见.我的 ...
- Java int to String互转
Integer.toString Integer.parseInt(lAyaNums);
- ubuntu下matplotlib画图中文乱码问题
最近因为论文原因在学习机器学习,看的一本叫做<机器学习实战>的书,看了看还是不错的,因为其中既有原理又有实例.今天载使用matplotlib进行画图时,发现中文会显示为小方块,这个问题真是 ...