当一份web报表项目压缩包躺在我的文件夹里时,我是完全懵的。作为一个学习了一个月java的asp.net小白,以前从来没有接触过这方面,我完全不知道从何入手。

手里也有asp.net开发学习视频,但都因为懒没看。网上搜集了很多资料,得知这种web报表一般是由三层物理架构组成。(以下内容均是以我手中项目为主角)

物理层                                                                       逻辑层

显示层:呈现给用户的界面                                         UI

逻辑层:后台数据控制与传递                                     BLL+DAL

数据层:获取、更改数据库数据                                 DBHelper

数据层

出于对数据库有一定的了解,于是先从数据层入手。发现数据层web.DBHelper有用到两个数据库,因为这里面有两个cs文件OracleHelper.cs和SQLHelper.cs,用的vs2010打开,因学过一些java,所以.cs这类代码基本看的懂。这两个文件里面都有很多的函数重载,知道他是用来接收sql语句、排序、其他一些不清楚干嘛的参数,去数据库抓取或更改资料。

逻辑层

清楚了DBHelper,于是看到逻辑层,发现逻辑层分为了两个部分,分别是业务逻辑层(BLL)和数据访问层(DAL):

业务逻辑层(BLL)中看到一些表字段的身影,便知道这是在整合QBE条件,以及排序,将结果传递到数据访问层(DAL)。

数据访问层(DAL)中写满了方法,这些方法中写上了sql语句,然后将传到数据层。类似于:return new OracleHelper.GetDataByPage(..........);

这里不知道可不可以将两个内容写在一起,不明白这样分开写的用意。

显示层

显示层着实花费了精力去消化,因为不懂xml、aspx、js、css、html。这个项目中一个个的.aspx叫做页面,而.aspx包含的.aspx.cs叫做页面代码。页面用来在网页上显示内容,而代码则控制页面上的功能;js则是脚本文件,但具体不知道怎么用;css则是样式表,控制着网页中内容的显示样式。(其中.aspx.cs将提交的页面内容,传给业务逻辑层(BLL));在项目中运用到的母版页(master)、控件Ext,查询结合理解:在控件Ext的基础上使用master结合.aspx内容页。

这部分技术尚欠,皮毛都不及,以后在谈。

asp.net报表结构学习记录的更多相关文章

  1. ASP.Net Mvc 5 学习记录2015-9-9

    我之前一直都是学习和开发都采用ASP.Net WebForm,对MVC的一直都是一知半解,最初以为ASP.Net WebForm的N层架构就是MVC.其实N层架构设计思想是"高内聚,低耦合& ...

  2. asp.net identity的学习记录

    # identity数据库 ## 创建空数据库 交给ef管理 ### 添加asp.net identity包 ``` Install-Package Microsoft.AspNet.Identity ...

  3. asp.net Code CSRedis学习记录

    1.安装Redis for windows 安装地址 https://github.com/MicrosoftArchive/redis/releases Redis 是完全开源免费的,遵守BSD协议 ...

  4. ElasticSearch 学习记录之如任何设计可扩容的索引结构

    扩容设计 扩容的单元 一个分片即一个 Lucene 索引 ,一个 Elasticsearch 索引即一系列分片的集合 一个分片即为 扩容的单元 . 一个最小的索引拥有一个分片. 一个只有一个分片的索引 ...

  5. ElasticSearch 学习记录之父子结构的查询

    父子结构 父亲type属性查询子type 的类型 父子结构的查询,可以通过父亲类型的字段,查询出子类型的索引信息 POST /product/_search { "query": ...

  6. ASP.NETCore学习记录(一)

    ASP.NETCore学习记录(一) asp.net core介绍  Startup.cs  ConfigureServices  Configure  0. ASP.NETCore 介绍 ASP.N ...

  7. ASP.NET MVC基础学习

    ASP.NET MVC基础学习 传统的MVC概念 模型:组类,描述了要处理的数据以及修改和操作数据的业务规则 视图:定义应用程序用户界面的显示方式 控制器:一组类,用来处理来自用户,整个应用程序流以及 ...

  8. Quartz 学习记录1

    原因 公司有一些批量定时任务可能需要在夜间执行,用的是quartz和spring batch两个框架.quartz是个定时任务框架,spring batch是个批处理框架. 虽然我自己的小玩意儿平时不 ...

  9. Python学习记录day5

    title: Python学习记录day5 tags: python author: Chinge Yang date: 2016-11-26 --- 1.多层装饰器 多层装饰器的原理是,装饰器装饰函 ...

随机推荐

  1. springboot 使用 dev tool 导致 CastException

    1.背景 项目使用了 Spring + shiro 实现 权限控制, 使用AOP 对 每个 Controller 进行 log 记录时,需要从 shiro 中 获取 username字段, 问题就这样 ...

  2. IT运维面试问题总结

    IT运维面试总结如下,后期更新于:https://www.yuque.com/docs/share/d3dd1e8e-6828-4da7-9e30-6a4f45c6fa8e. 欢迎基于学习.交流目的的 ...

  3. 5.20 省选模拟赛 T1 图 启发式合并 线段树合并 染色计数问题

    LINK:图 在说这道题之前吐槽一下今天的日子 520 = 1+1+4+514. /cy 这道题今天做的非常失败 一点分都没拿到手 关键是今天的T3 把我整个人给搞崩了. 先考虑 如果得到了这么一张图 ...

  4. Redis服务之常用数据类型

    上一篇博客我们聊了下redis的主从复制.aof持久化.集群.慢日志相关配置指令的说明,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/13416534.html ...

  5. python7.1处理异常

    a=[21,32,43,0,32,"a"]for i in a:#取出元素 try:#写可能会报错的代码 print(3/i) except Exception as e:#捕获t ...

  6. 15、Facade 外观模式

    什么是Facade模式 随着系统越来越复杂,我们需要把细节隐藏起来,给客户端提供一个统一的接口.在这种需求下facade模式诞生了.该模式比较简单,我们只需要在系统变得复杂把它运用上来,这样底层跟客户 ...

  7. git使用-分支管理

    1.查看分支 git branch 2.创建分支 git branch name 3.切换分支 git checkout name 4.合并分支上的内容到master分支 切换到master分支上 g ...

  8. NLP Github

    作者:cstghitpku链接:https://zhuanlan.zhihu.com/p/51279338来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 1.分词 Wo ...

  9. 关于setTimeout的用法注意事项

    setTimeout setTimeout的定义:setTimeout() 方法用于在指定的毫秒数后调用函数或计算表达式. setTimeout的用法:setTimeout(代码片段,执行代码等待的毫 ...

  10. C#LeetCode刷题之#374-猜数字大小(Guess Number Higher or Lower)

    问题 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/3993 访问. 我们正在玩一个猜数字游戏. 游戏规则如下: 我从 ...