asp.net报表结构学习记录
当一份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报表结构学习记录的更多相关文章
- ASP.Net Mvc 5 学习记录2015-9-9
我之前一直都是学习和开发都采用ASP.Net WebForm,对MVC的一直都是一知半解,最初以为ASP.Net WebForm的N层架构就是MVC.其实N层架构设计思想是"高内聚,低耦合& ...
- asp.net identity的学习记录
# identity数据库 ## 创建空数据库 交给ef管理 ### 添加asp.net identity包 ``` Install-Package Microsoft.AspNet.Identity ...
- asp.net Code CSRedis学习记录
1.安装Redis for windows 安装地址 https://github.com/MicrosoftArchive/redis/releases Redis 是完全开源免费的,遵守BSD协议 ...
- ElasticSearch 学习记录之如任何设计可扩容的索引结构
扩容设计 扩容的单元 一个分片即一个 Lucene 索引 ,一个 Elasticsearch 索引即一系列分片的集合 一个分片即为 扩容的单元 . 一个最小的索引拥有一个分片. 一个只有一个分片的索引 ...
- ElasticSearch 学习记录之父子结构的查询
父子结构 父亲type属性查询子type 的类型 父子结构的查询,可以通过父亲类型的字段,查询出子类型的索引信息 POST /product/_search { "query": ...
- ASP.NETCore学习记录(一)
ASP.NETCore学习记录(一) asp.net core介绍 Startup.cs ConfigureServices Configure 0. ASP.NETCore 介绍 ASP.N ...
- ASP.NET MVC基础学习
ASP.NET MVC基础学习 传统的MVC概念 模型:组类,描述了要处理的数据以及修改和操作数据的业务规则 视图:定义应用程序用户界面的显示方式 控制器:一组类,用来处理来自用户,整个应用程序流以及 ...
- Quartz 学习记录1
原因 公司有一些批量定时任务可能需要在夜间执行,用的是quartz和spring batch两个框架.quartz是个定时任务框架,spring batch是个批处理框架. 虽然我自己的小玩意儿平时不 ...
- Python学习记录day5
title: Python学习记录day5 tags: python author: Chinge Yang date: 2016-11-26 --- 1.多层装饰器 多层装饰器的原理是,装饰器装饰函 ...
随机推荐
- 点format方式输出星号字典的值是键
dic = {'a':123,'b':456} print("{0}:{1}".format(*dic)) a:b 2020-05-08
- metaclass 拦截类的创建,并返回
def upper_attr(future_class_name, future_class_parents, future_class_attr): #遍历属性字典,把不是__开头的属性名字变为大写 ...
- 【高并发】亿级流量场景下如何为HTTP接口限流?看完我懂了!!
写在前面 在互联网应用中,高并发系统会面临一个重大的挑战,那就是大量流高并发访问,比如:天猫的双十一.京东618.秒杀.抢购促销等,这些都是典型的大流量高并发场景.关于秒杀,小伙伴们可以参见我的另一篇 ...
- PHP jewishtojd() 函数
------------恢复内容开始------------ 实例 把犹太历法的日期转换为儒略日计数: <?php$jd=jewishtojd(6,20,2007);echo $jd;?> ...
- PHP date_interval_format() 函数
------------恢复内容开始------------ 计算两个日期间的间隔,然后格式化时间间隔: 实例 <?php $date1=date_create("2013-01-01 ...
- day20:正则表达式
单个字符的匹配 findall(正则表达式,字符串) 把符合正则表达式的字符串存在列表中返回 预定义字符集(8) \d 匹配数字 \D 匹配非数字 \w 匹配数字字母下划线 \W 匹配非数字或字母或下 ...
- Hadoop的序列化
普通的序列化需要将类型的继承结构也序列化,但是hadoop只序列化对象本身,忽略继承关系,因为hadoop中传输的自定义类型一般都是简单的类型,这样可以减少传输的序列化数据,降低网络带宽的使用.
- iptables基础实战练习
目录: 一.基本规则练习 二.SNAT源地址转移 三.DNAT目标地址转移 一.基础规则练习 (1) 放行ssh (端口:22) 1 iptables -A INPUT -d 192.168.42.1 ...
- OpenCL Kernel设计优化
使用Intel® FPGA SDK for OpenCL™ 离线编译器,不需要调整kernel代码便可以将其最佳的适应于固定的硬件设备,而是离线编译器会根据kernel的要求自适应调整硬件的结构. 通 ...
- “随手记”开发记录day07
今天完成了关于我们页面中的相关信息,由于之前没有做过这个东西,只想着用一个view解决 可是发现我们整的太简单了,还是太年轻,最后想出来要跟java代码一起解决这个问题, 效果