当一份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. PHP is_callable() 函数

    is_callable() 函数用于检测函数在当前环境中是否可调用.高佣联盟 www.cgewang.com is_callable() 函数验证变量的内容能否作为函数调用. 这可以检查包含有效函数名 ...

  2. luogu 3188 [HNOI2007]梦幻岛宝珠

    LINK:梦幻岛宝珠 时隔多日 我再次挑战这道题.还是以失败告终. 我觉得这一道背包真的有点难度 这是一个数量较少 但是价值和体积较大的背包. 通常的01背包 要不就是体积小 要么是价值小 但这道题给 ...

  3. HTML与XHTML之间的区别

    HTML与XHTML之间的差别,粗略可以分为两大类比较:一个是功能上的差别,另外是书写习惯的差别.关于功能上的差别,主要是XHTML可兼容各大浏览器.手机以及PDA,并且浏览器也能快速正确地编译网页. ...

  4. MySQL一主多从配置和读写分离配置

    一.一主多从配置 此次操作实现的是一主两从的方式.主服务器slave2(2.100),从服务器slave2-1(2.107),slave2-2(2.108);第一:准备主数据库    1. 在不同的机 ...

  5. 实用!一键生成数据库文档,堪称数据库界的Swagger

    本文收录在个人博客:www.chengxy-nds.top,技术资料共享,同进步 最近部门订单业务调整,收拢其他业务线的下单入口,做个统一大订单平台.需要梳理各业务线的数据表,但每个业务线库都有近百张 ...

  6. 云小课 | IPv4枯了,IPv6来了

    摘要:本篇主要分享IPv4与IPv6的区别和IPv6的应用场景,助您快速理解华为云IPv6双栈及IPv6 EIP. IPv6的由来 上节课我们讲了公网IP与私网IP,了解了IP地址的一些知识. 我们一 ...

  7. 为什么需要将网站封装为app?

      网站封装为app是一种宝贵的资源,为客户提供稳定的平台,一个网站也是一个有效的工具,用于企业与其客户之间的通信.企业网站用户可以通过他们的笔记本电脑,台式机,平板电脑,智能手机以及带有浏览器设备的 ...

  8. 记不住git命令?试试这个命令浏览网站

    Find the right git commands without digging through the web. 找 git 命令,无需谷歌百度,无需 git -help,这个网站以图形界面的 ...

  9. 使用git将本地仓库上传到远程仓库(转)

    第一步:创建一个工程目录 执行: git init 第二步:把文件添加到版本库中,使用命令 git add .添加到暂存区里面去,不要忘记后面的小数点".",意为添加文件夹下的所有 ...

  10. nginx多个server的配置,同一端口

    nginx多个server的配置,同一端口 #user nobody; worker_processes 1; #error_log logs/error.log; #error_log logs/e ...