使用ASP.NET技术开发网上书店

(注意:本文档包括--知识点说明,详细,复习)

共10章
1~4 ASP.NET页面基础
5~7 ASP.NET页面重要组成部分
8~10 ASP.NET锦上添花

知识点说明:
第1章
1)Asp.Net的特点及优势
*代码隐藏机制
2)Asp.Net的基本运行机制
3)IIS的作用及安装
4)体验Asp.net的开发

*GridView数据提取体验
*登录验证
**页面的生命周期

毕业设计课
1)MyBookShop业务逻辑
2)数据库表设计
3)MyBookShop演示及知识点介绍
4)MyBookShop层次架构搭建

**执行带参SQL语句
**执行存储过程(介绍参数适配器的思想)
注:(1)采用抽象工厂设计模式实现灵活更换数据库仅提供参考代码,不要求在毕业设计中实现
(2)毕业设计每三人一组;每人一份,每三人再合交一份;评最佳进步3人,按优良中次差进行评分;评2个最佳组


第2章
**无状态管理特性与状态管理对象
**进一步了解ASP.NET的运行机制
1) Page
* Page对象中的重要事件及属性
* VIEWSTATE机制
2) Request
3) Response
4) Cookie
5) Session
6) Application
7) Server

*采用Session实现用户登录、购物车

** Global.asax介绍
** 采用Application实现在线人数统计
** 采用Cookie实现记录用户的访问历史
** Session的签入与签出
** @Page的重要属性介绍


第3章
1) 站点导航控件中的SiteMapPath及SiteMapDataSource
2) TreeView和Menu
3) 母版页

*采用div+css制作母版页
*利用SiteMapPath、TreeView、Menu实现站点导航

***为MyBooksShop搭建母版页
***为MyBooksShop制作站点SiteMapPath及TreeView2008-8-5导航效果(前台和后台)

第4章(HTML控件、Web服务器控件)
1)一般控件介绍其重点属性,结合小例子
2)ListBox和DropDownList的数据绑定
3)CheckListBox和RadioButton:信息搜集
4)AdRotator:实现广告轮换
...

***MyBookShop中"用户注册"等页面的实现

DLC1

补充其它控件的介绍

第5章
1)验证控件
2)正则表达式
3)其它几个控件

**Calendar(JS)

***MyBookShop中"用户注册"等页面的验证

第6章

*先讲传统方式的数据操作(利用编辑框的方式实现增删改查)
1)GridView

*光棒效果
*删除提示效果
*数据绑定思想(Eval和Bind)
*列/行模板思想

2)DetailsView

*利用GridView及DetailsView实现数据的增删改查

***实现MyBookShop中的"书目列表"等页面

第7章
1)DataList
2)Repeater
3)Rss
4)ViewState

*利用DataList实现数据的增删改查
*结合ViewState实现DataList的分页效果
*利用Repeater构造表格效果
*RSS介绍及利用Repeater实现RSS

**实现数据的手工排序及分页(SQL存储过程分页)
**调用存储过程(存储过程参数适配器的制作)

第8章
1)CodeSmith
2)FreeTextBox
3)WebValidate

*利用CodeSmith实现实体类生成(实体类模板制作)
*利用WebValidate实现验证码

**手工验证码的制作
**ADO.NET级的事务复习、封装及页面级的事务处理(银行转帐)
**并发访问问题的处理思想

***在MyBookShop的用户登录及用户注册界面加入验证码功能
***在MyBookShop“图书详细信息”管理页面中加入FreeTextBox实现图书目录信息的编辑
***利用CodeSmith产生MyBookShop的Models层中各实体类

第9章
1)用户控件
2)HttpHandler制作水印图片
3)用户权限验证及管理的第二种方式

*多文件上传
*采用Cookie结合Global.asax中的全局事件处理进行用户身份验证

**第三种用户权限验证方式

***实现MyBookShop中的用户权限验证及管理
***实现MyBookShop中的水印图片制作
***实现MyBookShop中的图书封面图片上传


第10章

1)常用配置文件
2)自定义错误等
3)网站部署及安装

*用户权限管理及验证(复习)
*Web安装包的制作

***为MyBookShop制作安装包及各项配置

DLC3
总复习

说明
1 以StuInfoM(stuInfo和stuMarks)案例贯穿
2 整个授课过程按stuInfo和stuMarks实现增删改查并实现用户验证、权限管理、验证码、水印图片处理等内容
3 以1介绍完成知识点后,指出在毕业设计中的相应应用、实现的思路,作业内容为上节课所讲及实现对应的毕业设计中内容


知识点详细:
第一章
1.创建站点步骤
2.简单快速开发(拖曳操作)
3.优势

1,》ASP.NET的优点:
(1)与浏览器无关;
(2)方便设置断点、易于调试;
(3)编译后执行,运行效果高;
代码编译是指将代码“翻译”成机器语言。ASP并未直接编译成机器语言,而是先编译成微软中间语言(Juest-In-Time,MSIL或IL)
然后由及时编译器(Juest-In-Time,JIT)进一步编译成机器语言。
(4)丰富的控件库;
(5)代码后置,是代码更清晰

2,》成功案例:戴尔电脑-http://www1.ap.dell.com/content/default.aspx
当当书店-http://mall.dangdang.com/mallhome/default.aspx
中华英才网-http://searchjob.chinahr.com/index.aspx
微软官方网-http://www.microsoft.com/en/us.default.aspx

3,》设置虚拟目录-创建虚拟目录步骤:
1.单击“开始”-“程序”-“管理工具”-“Internet信息服务管理器”
2.右击“网站”下面的“默认站点”,选择“新建”-“虚拟目录”命令
3.在向导中填写该虚拟目录的名称 4.选择路径(应用程序放置路径)
5.设置访问权限。至少要设置为可以读取,根据需要还可以设置允许运行脚本。

4,》创建ASP.NET应用程序:Visual Studio提供了4种创建Web站点方式:文件系统、本地IIS、FTP站点和远程站点。

创建好的站点有两种编辑方式:设计视图和源视图
>解决方案组成:>App_Date 存放数据的文件夹
>web.config 站点配置文件,可以设置是否允许调试。
>Default.aspx 空白页面
>Default.aspx.cs 代码后置文件

5,》代码后置和代码内嵌:
>代码后置:页面文件(.aspx)和代码文件(.cs)两个文件相互关联构成一个页面。
一般情况下,.aspx中没有代码、只有控件和html代码,而在.cs文件中编写相关的代码。
--好处:使代码和页面内容分离,使代码更清晰。
>代码内嵌:可以不使用后置的.cs文件,完全在.aspx文件中编写代码。
只需在创建页面时,不选择“将代码放在单独的文件中”复选框,将代码放在<% %>之间。

6,》控件和事件
>Labl可以用来显示文本,Text属性包含要显示的文本内容。
>TextBox用户输入和显示文本。以下为TextBox常见的属性和事件:
名称 类型 值 说明
AutoPostBack属性 Boolean true、false 如果用户更改控件内容,是否自动回发到服务器,默认为false

ReadOnly属性 Boolean true、false 该控件内容是否可编辑,默认为true

Text属性 string 设置或者获取控件内容

TextMode属性 TextMode SingleLine、MultiLine、Password 控件模式:单行、多行和密码,设置为密码显示为“*”

TextChanged事件:文本发生变化且失去焦点时触发的事件。
注意该事件需要配合AutoPostBack使用,只有自动会发到服务器,文本改变的事件才或执行
>Button可以将表单提交给服务器,激活服务器端处理。Text属性,用来设置按钮上显示的文字。

7,》ASP.NET服务器
1 CassINI:轻量级服务器
2 IIS:重量级服务器

8,》VS.NET 对决 Java

VS.NET Java
VS2005 C#2.0 1.3
VS2008 C#3.0 1.5
VS2010 C#3.5 1.6
MS Sun Borland
C/C++ Java

VS.NET C#
B/S(三分天下) C/S(垄断) 嵌入式
Java + Oracle
Asp.NET + SqlServer
PHP + MySql

》总结:>ASP.NET应用程序其实就是一个站点,类似于WinForms,是基于控件+事件的方式。


第二章 系统对象与状态管理
1.运行机制
2.七大对象(Page, Request, Response, Session, Cookie, Application, Server)

9,》 ASP.NET运行机制
ASP.NET页面第一次运行比第二次运行要慢
第一次运行需要解析(编译,生成)
第二次运行直接访问生成后的页面
10,》 ASP.NET生命周期
ASP.NET生命周期:
创建,处理(首次加载|回传加载),销毁
11,》系统对象

对象名 说明
Page对象 指向页面自身的方式,在整个页面的执行期内,都可以使用该对象。

Request对象 封装了由web浏览器或其他客户端生成的Http请求的细节(参数,属性和数据),提供从浏览器读取信息或者读取客户端信息,用于页面请求。

Response对象 封装了返回到Http客户端的输出,提供向浏览器输出信息或者发送指令,用于页面执行。

Server对象 Jsp无该对象,提供了服务器端的一些属性和方法,例如:页面文件的绝对路径。

Application对象 为所有用户提供共享信息,作用于整个应用程序运行期。

Session对象 为某个用户提供共享信息,作用与用户会话期。

Cookie对象 保持与客户端的共享方式。

1.Page对象,就是页面类(System.Web.UI.Page)的实例,每一个ASP.NET的页面对应一个页面类。
在ASP.NET中Page对象有两种表现形式:
1 后置代码(.cs)
1 页面类继承:System.Web.UI.Page类
2 常用属性:
IsPostBack
IsCrossPagePostBack
2 前台页面(.aspx)
1 必须被 @Page指令 定义
2 常用属性:
Language >Language:指定页面代码和后置代码应用的语言,这里只支持微软.NET框架中的语言。
AutoEventWireup >AutoEventWireup:设置页面是否自动调用网页事件,默认为(不写时)true;当该属性为false时,页面中的所有事件都不会执行。
CodeFile >CodeFile:指定代码后置文件名,后置代码,该后置代码与页面是局部关系。
Inherits:页面类 >Inherit:页面类。
>@Page指令定义了ASP.NET也用于编译和解析的属性,每个aspx页面只能有一个@Page指令。

2.页面输入输出:
》Request对象(请求)
客户端向服务器端发出请求,获取服务器数据。
常用属性:
1 QueryString,向地址栏发出请求(Get)
2 Form,向表单发出请求(Post)
3 ServerVairable,向服务器变量集合发出请求
4 Params,请求所有数据(三合一)

Request对象成用的属性:
>QueryString集合主要用于收集HTTP协议中的get请求发送的数据,如果一个请求事件中被请求的URL中出现"?"好后的数据,
则表示此次请求方式为Get。最常见的是超链接。

>From集合与QueryString类似,用于收集Post方法发送的请求,(get方法一般只能传递256B的数据,post可以达到2MB)
>ServerVariable(环境变量)集合中包含了服务器和客户端的系统信息。

>Parameters集合是以上三种方式的集合,它不区分是由哪种方式传递的参数。

相比而言,该方法需要在最大的范围(如URL、表单、环境变量)寻找匹配字段所以效率低。

》Response对象(响应)
服务器端响应客户端,将数据在HTTP流中输出到客户端。
常见方法:
1 Write:将数据响应到页面中
2 Redirect:页面的重定向

response对象常用的方法:
>Write()可以输出指定的文本内容。

>End()方法可以使Web服务器停止当前的程序并返回结果。

>Redirect()方法可以将页面重指定到另外一个也页面。

Request.ServerVariables["HTTP_USER_AGENT"]可以获取当前客户端浏览器的版本信息。
Request.ServerVariables["HTTP_ACCEPT_LANGUAGE"]可获取当前客户端浏览器使用的语言。
3.ASP.NET页面传值
示例:两个页面间的数据传递
Login.aspx Main.aspx
1)页内数据传递:业内数据传递是最简单的页面数据传递形式
2)跨页传递
1 需要使用PreviousePage属性访问上一个页面
2 不能发生页面重定向
3 必须使用按钮的PostBackUrl方式提交数据


12,》状态保持:在ASP.NET中有Cookie、Session、Application三种状态保存的方式。
1.Cookie对象:Cookie是个存储在浏览器目录中的文本文件。
Cookie对象weiWeb应用程序保存用户的相关信息提供了一种有效的方法,
Cookie对象分别属于Request对象和Response对象,
每一个Cookie对象都属于Cookies集合,可以使用索引器方式访问。
语法:Response.Cookies[Cookie的名称].value=变量值; //写入Cookie
string 变量名=Request.Cookies[Cookie的名称].value; //读取Cookie

Cookie存储与客户端,出于安全考虑,一般不使用它进行客户登录状态的判断。
Cookie对象常用的属性: >Name:Cookie变量的名称。
>Value:取得或者设置Cookie变量的值。
>Expires:设定Cookie变量的有效时间。
注意:如果未设置有效时间,他们仅保存到关闭浏览器程序为止。如果将Cookie的Expires
属性设置为MaxValue,则表示Cookie永远不会过期。大多数浏览器对Cookie的
大小限制为4KB。 用户还可以修改浏览器设置将Cookie禁用。
Cookie一般用于完成在用户未登录的情况下,记录用户信息。

2.Session对象
是存储在服务器端变量集合(Session域),尽量控制Session的使用,相对来说数据维护在Session中是安全。
Session是存储在服务器端的数据。针对每一个连接,系统自动分配一个ID,
来表识每一个不同的用户,该ID在客户端和服务器端传递,达到唯一标识某一个用户的目的。
要得到该ID,使用Session.SessionID属性。

语法:Session["Session名称"]=值;
变量=Session["Session名称"];

Session对象的特点:
>Session对象包含某一个用户的状态信息,此信息仅面向该连接,不与其他用户共享。
>会话超时或者过期,服务器即刻清除Session对象,释放所占资源。
>会话期通过SessionID传递状态信息,不像Cookie那样将所有内容传输。
客户端仅对SessionID可见,而对状态信息的内容不可见。

Sessoion常用属性和方法:
属性和方法 说明
SessionID属性 包含唯一的用户会话标识符,他可用于在整个会话过程中记录用户信息。

TimeOut属性 设置用户超时的时间,单位为分钟。在该段时间内,用户即使没有任何操作,
用户状态也不会被清除。注意:这里的设置是针对服务器清除Session的
时间而言的一般关闭窗体就会造成Session丢失。

IsNewSession属性 如果已按当前请求创建会话,那么该属性将返回ture。

Clear属性 从会话状态集合中移除所有的键和值。

Abandon属性 结束Session,取消当前会话。

3.Application对象:Application对象是整个应用程序的对象。
语法:Application["Application名称"]=值;
变量=Application["Application名称"];

Application对象的常用属性:
属性 说明
All 返回全部的Application对象变量到一个对象数组。
AllKeys 返回全部的Application对象变量到一个字符串数组。
Count 取得Applicatio对象变量的数量。
Item 允许使用索引或Application变脸名称传回内容值
Application对象的常用方法:
方法 说明
Add 新增Application对象变量
Clear 清除全部Application对象变量
Get 使用索引值或变量名称传回变量值
Set 使用变量名称的更新一个Application对象变量的内容
Lock 锁定全部Application对象
UnLock 解除锁定Application对象

13,》Session、Cookie和Application之间的区别:
Session能够保存相对少量的、简单的数据,这是面向单个用户、单个连接的信息,
保存与服务器端(会占用服务器资源)。
Session对象保存数据的效率比较低,使用于保存少量数据。

Cookie保存少量的、简单的数据,一般不允许超过4KB(与浏览器有关),使用期限可以灵活设定,面向单个用户,保存于客户端。

Application能够保存任意大小的信息,在整个应用程序周期中有效,使面对所有应用程序用户的,保存与服务器端。
14,》Server对象的常用方法:
方法 说明
HtmlEncode 此方法带有一个字符串参数,可将其编码,使其在浏览器中正确显示。

HtmlDecode 此方法与HtmlEncode方法相反,对已编码内容解码。

MapMath 此方法带有一个虚拟路径,可返回该路径在物理磁盘重的正确位置。

UrlEncode 对Url地址进行编码,对于Url需要传输含有“#”、“&”等特殊字符的参数时,需要进行编码,
否则后面的内容不会被识别。

UrlDecode 此方法与UrlEncode方法相反,对已编码内容解码。

Execute 在当前页面执行参数指定的页面,执行完成后继续执行本页面。

Transfer 参数指定的页面处理完后,页面执行结束。

>MapMath语法:Server.MapMath(string path)
path参数为Web服务器上的虚拟路径,如果将Null作为参数,则返回应用程序所在目录的物理路径。

15,》小结 状态管理
将数据保存在指定媒介的过程,维护页面的少量数据
1, Session(会话)
维护少量数据在服务器端,独立每个用户
使用方法:对比Java
1 Session["名字"] = 值;
2 变量 = Session["名字"];
常见属性:
1 SessionID,会话的唯一编号,保证会话是否有效
2 TimeOut,会话的过期时间,停止会话的指定时间后,会话销毁。单位:分钟。
3 Abandon(),取消当前会话。

2, Application(应用程序域)
维护少量数据在服务器端,作用于整个应用程序
用法与Session用法基本一致,仅仅是作用域不同而已。
3, Cookie(小甜点)
维护少量数据在客户端
使用方法:
借助于HttpCookie对象实现
1 写Cookie Response.Cookies
2 读Cookie Request.Cookie

4, Server对象包含一组特殊的方法
1 MapPath():将虚拟路径转化为物理路径
2 Execute():执行其他页面或脚本(请求转发)
3 Transfer():执行其他页面或脚本(请求装法)
4 HtmlEncode()|HtmlDecode()
HTML文本进行编码与解码
5 UrlEncode() | UrlDecode();

第三章
1.导航控件(SiteMapPath, TreeView, Menu)
2.母版页和内容页

16,》控件分类:Web服务器控件和HTML服务器控件
1.HTML服务器控件
所有的服务器控件继承自System.Web.UI.Control类,而所有的HTML服务器控件位于System.Web.UI.HtmlControls命名空间。
2.Web服务器控件:Web服务器控件的标签都是以asp:开头,成为标记前缀,后面是空间类型。
Web服务器控件位于System.Web.UI.WebControls命名空间。
3.Html控件与服务器控件间的区别
Html控件运行在客户端
如果Html控件需要作用于服务器端,可以添加runat='server',如果服务器控件作用于客户端,可以添加控件的Attributes属性来实现。
17,》导航系统:导航控件(用于数据呈现)
作用:
1 确定用户所在位置
2 给用户指明方向,指引用户去往想去的页面

1 SiteMappath 面包屑
只能加载 站点地图
2 TreeView 树形结构
可加载站点地图
也可加载xml文件
3 Menu 菜单
可加载站点地图
可加载xml文件

18,》数据文件(用户数据存储)
1 web.sitemap 站点地图
2 xml 可扩展性标记语言(自定义文件)

19,》导航控件 数据源控件 数据文件
1 sitemapdatasource
2 xmldatasource
20,》页面布局方式
1 栏式(QQshow)
2 区域(sohu)
布局技术:
1 table(简单页面应用)
2 div+css(较灵活,便于开发综合网站)
21,》母版页
1 作用:提高Web应用程序的页面重用

第四章
1.简单三层

第五章
1.GridView,DetailsView
2.ObjectDataSource

第六章
1.DetailsView的更新(Item_Updating)
2.上传文件(Item_Updated,三步走)
3.验证控件(共计6个控件)
4.ImageMap(图像热点,在一个图片上实现点击不同位置打开不同链接)
5.MultiView(包含View,multiview类似TabControl,view类似TabPage)

22,》验证控件
五个验证,一个汇总
非空、边界、比较、正则表达式、自定义
ValidationSummary

23,》ASP.NET实现某个业务大体的步骤:
1 搭建框架
1-1 新建解决方案
1-2 新建Models
1-3 新建DAL
1-4 新建BLL
1-5 新建WebUI
1-6 DAL,书写DBHelper
2 根据业务需求完善DAL
2-1 登陆
2-2 查询
2-3 TreeView
2-4 高亮显示
2-5 选课
GetAllCourseInfos() select * from courseInfo
3 完善BLL
GetAllCourseInfos()
4 完善WebUI
新建网页
添加GridVIew绑定BLL中GetAllXXX()
根据业务需求,设置GridView中显示的列
24,》 基于DetailsView进行实体类更新
1 Eval
1 只读
2 格式化
2 Bind
1 读写
2 不能进行格式化
25,》 更新图书封面
1 绑定显示
ISBN X
~/Images/BookCovers/{0}.jpg ImageUrl
将ISBN通过Eval,格式化为 ImageUrl
Eval("ISBN","~/Images/BookCovers/{0}.jpg")
2 DetailsView控件有三种显示模式:
2-1 只读 ItemTemplate普通项 AlternatingItemTemplate交替项
2-2 编辑 EditItemTemplate
2-3 插入 InsertItemTemplate
26,》 高级控件
4-1 FileUpload 文件上传
4-2 ImageMap 热点地图
4-3 MultiView 多视图控件
4-4 HyperLink 超链接
27,》 日期控件
MyDate97 (JavaScript)OnFocus事件

第七章
1.DataList(用于显示多行单列的数据)
2.Repeater(不生成任何html代码)

28,》 DataList与GridView对比?
1 外观(自定义,网格)
2 功能(展示,修改?,插入?,删除?,分页?,排序?)
3 结合页面技术实现特定需求
29,》 ASP.NET实现分页技术共有两种形式:
1 SQL,效率高
not in
row_number
2 控件,集成所有分页所设计的属性和方法,使用方便
30,》Repeater
作用:在ASP中循环生成列表:(XML,HTML...)
特点:
1 不生成多余HTML
2 有模板,但没有 选择 和 编辑 模板
3 不能通过设计视图编辑,只能通过源代码视图
4 高效

31,》RSS
RSS的中文名:内容聚集
RSS可以被新闻阅读器加载
在ASP中往往RSS与Repeater一起使用
RSS中的元素固定:rss,channel,title,author
32,》Web2.0技术
Blog、Ajax、RSS(内容聚集)。。。。
RSS(XML文件) 超星 新闻阅读器(抓虾、周伯通...)

第八章
1.第三方控件(FreeTextBox,WebValidate)
2.代码生成器

33,》第三方控件
代码生成器
CodeSimith 生成实体类
1 创建模板 .cst
2 包含三部分内容:
静态
动态
生成
3 调用模板
TableSchema

第九章
数字水印 用户控件

34,》数字水印(效果)
ASP.NET处理请求原理
http://www.qq.com/a.jsp
Java处理请求,由tomcat完成?
Asp.NET处理请求,由Asp.Net引擎(IIS中绑定的ASP的API)完成
a.aspx页面中包含了那些东西?图片,文本,标签,多媒体,样式 。。。
HttpModule
作用:过滤
HttpHandler
作用:处理
在一次完成的请求中,可以包含多个Module,但是只能包含一个Handler

GetBookCoverURL( Eval("ISBN").ToString())

35,》实现数字水印的两种方式:
1 一般处理程序(有局限性)
后缀名为:ashx
必须实现IHttpHandler 接口
必须实现该接口的两个抽象成员
ProcessRequest
完成请求处理
IsReusable
标志处理程序是否支持重用
一般处理程序的缺陷:必须手动调用一般处理程序,方能实现效果
2 全局处理程序
可以实现自动调用处理程序,实现数字水印
必须实现IHttpHandler 接口
必须实现该接口的两个抽象成员
ProcessRequest
完成请求处理
IsReusable
标志处理程序是否支持重用
可以通过配置web.config实现自动调用处理程序
将Web应用程序发布到IIS中,会有问题

www.qq.com/a.aspx
www.qq1.com/b.aspx
3.加水印步骤
1)获取默认图片和水印图片的虚拟路径
2)获取要访问的图片的物理路径
3)如果图片存在,则创建图片对象、水印图片对象,将水印图片放入矩形,将矩形放入图片(通过画布对象实现)
4)如果图片不存在,则加载默认图片
5)设置返回的数据类型为"image/jpeg"
6)保存加工后的图片到输出流
7)释放图片对象
8)Response.End

4.两种方式的比较:
1 一般处理程序
.ashx
必须手动调用
2 全局处理程序
.cs
可以自动调用
web.config配置文件中实现
两种方式的共同点:
1 实现IHttpHandler接口
2 实现接口中的方法和属性
3 实现细节大体类似

36,》HttpModule 与 HttpHandler?
在一次请求过程中,可以有多次Module,但是只能有一次Handler

37,》用户控件
用户控件是啥?
@Control用来定义一个用户控件
@Register用来注册一个用户控件

使用用户控件的大体步骤:
1 @Control
2 @Register
3 在ASP.NET中加载用户控件

注意:
用户控件不能够发生任何形式的嵌套

第十章
1.网站配置
1)ASP.NET网站管理
2)IIS编辑网站设置

2.安全管理(用户和角色)
3.网站的配置文件中重要节点的加密、解密
4.网站的复制、发布

38,》网站的部署和定制
什么叫做部署?
将应用程序从开发状态调整为发行状态的过程
什么叫做定制?
在网站的部署过程中,对网站的配置称为定制
如何实现网站定制?
通过配置文件实现网站定制
配置文件共有两种:
1 machine.config
每台服务器中的每个.NETFrameWork有且仅有一个machine.config
2 web.config
每个站点尅有一个或多个web.config,每个目录只能有一个Web.config

39,》本章要求能够熟练掌握常用的配置节
conntectionString 配置数据库连接字符串
authrization
authtication
customerErrors
complition
httpRuntime
通过配置节实现对网站的定制

配置文件有两种:
machine
web


40,》通过配置文件实现对网站的定制:
1 手动编写配置文件
1 必须记住配置节的用户
2 通过Weg管理工具编辑配置文件
1 ASP.NET配置工具
2 MMC插件

41,》部署
部署的目的:
1 隐藏源代码
2 优化效率

部署的准备:
1 不允许调试
2 修改为发行版

部署的方式:
1 xcopy,最简单,仅具备文件的复制,不实现预编译
2 发布网站,在VS中右键发布,具备预编译
3 复制网站
本地系统
本地IIS
远程FTP
远程HTTP

42,》ASP.NET安全机制小结
1 身份验证
告诉应用程序如果用户不合法,应该去登陆
authtication
2 权限控制
识别用户是否为合法用户
authrization
3 结合角色的安全控制
参看文档

=====================================
=======================================================================================================
复习:
第一章 第一个ASP.NET网站
1 吹牛
2 ASP.NET特色与优势
跨浏览器 java有
支持断点调试 java有
丰富的控件库
代码后置
编译后运行
3 创建第一个ASP.NET网站
HelloWorld
4 ASP.NET服务器
轻量级服务器
CassINI
重量级服务器
IIS
5 体验ASP.NET快速开发
第二章 系统对象 与 状态管理
1 ASP.NET运行机制
结论:第一次运行比第二次运行慢,需要编译生成页面
2 Page
是页面类(System.Web.UI.Page)的实例
分为两种表现形式:
1 前台页面
@Page指令
常用属性:
Language
src
..
..
2 后台代码
System.Web.UI.Page类
常用属性:
IsPostBack
PreviousPage
3 Response
是向客户端的响应。将数据从服务器端输出到客户端显示。
Write()
Redirect()
4 Request
是向服务器的请求。获取服务器相关数据。
向地址栏发出请求。GET
向表单发出请求。POST
向服务器变量集合发出请求。获得特殊数据(IP地址,浏览器信息等等)
Request.QueryString
Request.Forms
Request.ServerVairables
5 Session
是Web应用程序的会话。
是将数据维护在服务器端。
是每个用户独立。
用法:
Session["名字"] = 值;
值 = Session["名字"];注意:类型转化。
常见属性:
SessionID
TimeOut
... ..
6 Cookie
是小甜点。将少量数据存储在客户端。
是将数据维护在客户端。
是每个用户独立。
用法:
Reponse.Cookies.Add(HttpCookie 对象)
Request.Cookies["名字"]
常见属性:
Expires
... ...
7 Application
是应用程序共享对象。
是将数据维护在服务器端。
是所有用户共享。
用法:
与Session基本一样
8 Server
是特殊方法的集合
MapPath 将虚拟路径转化为物理路径
HtmlEncode 完成特殊字符的编码
HtmlDecode 完成特殊字符的解码
Execute 执行其他页面
Transfer 执行其他页面
第三章 导航控件 和 母版页
1 HTML控件与Web控件的区别:
<input ....
主要运行在客户端,常用客户端事件
<asp:控件名 ....
主要运行在服务端,常用服务端事件
2 导航控件运行原理
导航控件 <---> 数据源控件 <---> 数据文件
3 导航控件
1 SiteMapPath 面包屑导航
2 TreeView 树形结构
3 Menu 菜单导航
4 数据文件
1 web.sitemap 站点地图
2 xml 自定义数据文件
5 数据源控件
1 SiteMapDataSource 站点地图数据源控件
2 XmlDataSource XML数据源控件
6 母版页
作用:实现站点级的页面重用
母版页与普通页面的区别:
1 后缀名.aspx .master
2 父类 Page Master
3 是否可以直接运行
4 指令 @Page @Master
5 是否可以使用ContentPlaceHolder
第四章 搭建ASP.NET框架
1 三层框架的作用:
1 应用程序的维护性
2 方便团队协作开发
2 搭建框架的步骤:
1 新建空白解决方案
2 添加Models
3 添加BLL
4 添加DAL
5 添加WebUI
6 添加引用,设置各层之间的依赖关系。
3 Models层注意事项:
1 命名空间:项目名.Models
2 模型与数据库保持一致
3 字段首字母小写,属性首字母大写
4 BLL....
5 DAL....
6 WebUI...
7 UML模型,用来形容各个对象间的关系松散度:
1 依赖,例如:表示层调用BLL的方法
2 关联,例如:用户类的角色属性是角色类
3 聚合
4 组合
由 依赖 至 组合,关系逐渐加强
8 介绍第三波网上书店的结构


第五章 GridView
ASP.NET页面在进行数据展示的方式:
1 手动绑定
S2
2 数据源控件绑定
Y2
Object
XML
SiteMap
SQL
Acess
GridView <--> 数据源控件 <--> 数据模型

GridView的常见Field:
1 BoundField 常规列
2 CheckBoxField 复选框列
3 ImageField 图片框列
4 HyperLinkField 超链接列
5 CommandField 命令行列
6 TemplateField 模板列(万能列)

TemplateField五个子模板:
1 Header
2 Footer
3 Item
4 AlterNationItem
5 EditItem

根据需求在子模板中放入控件,实现效果。
将数据绑定在控件中。

绑定的方法:
1 Eval
只读
可以字符串的格式化
ISBN ->
~/images/bookcovers/{0}.jpg
2 Bind
读写
不支持字符串的格式化

介绍了DetailsView控件
了解GridView与DetailsView的区别:
1 外观
2 功能
第六章 DetailsView的数据更新和插入
1 验证控件
作用:保证数据有效性
分类:服务器,客户端
2 ASP.NET实现验证
六大验证控件:
1 非空
2 边界
3 比较
4 自定义
5 正则表达式
=====================
6 汇总

客户端验证
服务器端校验
3 基于DetialsView实现数据更新的步骤:
1 在DAL中编写UpdateXXX
2 在BLL中编写UpdateXXX
3 在WebUI中使用数据源控件绑定BLL的UpdateXXX
4 在DetailsView控件中启动更新
5 如果待更新的数据没有外键列,应该可以直接更新成功
6 如果待更新的数据有外键列
6-1 在更新ing事件中,手动添加外键列数据
7 如果待更新的数据中有特殊列,例如:图片
7-1 在更新ed事件中,手动上传图片
4 ASP.NET高级控件
1 FileUpLoad 文件上传
2 HyperLink 超链接
3 ImageMap 热点地图
4 MultiView 多视图
======================
5 MyDatePick97 日历JS脚本
第七章 DataList
1 DataList | Repeater | RSS应用
2 DataList 与 GirdView 与DetilasView 与Repeater 的区别
1 外观
DataLIst,自定义风格
GridView,网格
DetailsView,纵向网格
Repeater,精确显示
2 功能
展示
更新?
删除?
新增?
排序?
分页?
3 ASP.NET页面实现分页的两种方法:
1 SQL语句分页
1 not in
2 row_Number
2 控件分页
PagedDataSource
两个分页方式的对比:
1 效率
2 方便
4 Repeater的基本特征:
1 精确布局
2 没有设计视图
3 不生成多余的HTML代码
4 相对于DataList,没有编辑 和 选择模板
5 高效
5 Rss的概念
1 中文名:内容聚集
2 Web2.0
3 RSS的作用:订阅

新闻阅读器 -> 展示数据
加载RSS内容 -> 数据文件

6 Rss的基本特征:
1 标签固定:
<rss version="2.0"></rss>
2 格式严谨
3 往往与Repeater联合使用
第八章 第三方控件和代码生成器
1 第三方控件
1 作用:提高开发效率
2 精神:拿来主义
3 也可以自己开发第三方控件
2 验证码,HTML文本编辑器
3 验证码
1 暴力破解
2 恶意注册
4 代码生成器
1 CodeSimith
2 动软
5 CodeSimith
1 基于模板运行
2 后缀名 .cst
3 由三部分组成:
1 静态部分
2 动态部分
3 生成部分
4 连接数据库,单独引入组件
第九章 用户控件 和 数字水印
1 用户控件 是啥?
是自定义组合控件
2 用户控件 注意事项
1 @Control 创建用户控件
2 @Register 注册用户控件
3 不允许发生任何形式的嵌套
4 主要来实现局部代码的重用
3 用户控件 与 页面 区别?
1 后缀名不同
2 指令不同
3 父类不同
4 是否可以单独运行
4 数字水印
1 HttpModule 过滤
2 HttpHandler 处理
3 结论:在一次请求过程中,多个Module,一个Handler
5 HttpHandler 实现 数据水印
1 一般处理程序
.ashx
手动调用
必须调用
2 全局处理程序
.cs
配置文件自动调用
通过IIS配置调用
两个处理程序都必须实现IHttpHandler
都必须实现ProcessRequest,IsReuable
第十章 网站的部署 和 定制
1 部署
2 定制
3 配置文件的分类
machine.config
web.config
4 常见的配置节
连接字符串
身份验证
授权
自定义错误
允许调试
运行时配置
5 也可以使用工具实现配置功能
Web站点管理工具
好用
ASP.NET MMC 插件
弱化
6 部署的目的:
1 隐藏源代码
2 优化程序
7 部署的方法
1 Xcopy DOS命令
2 复制网站
本地系统
本地IIS
FTP
HTTP
3 发布网站 VS自带功能
  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
实现了网上书店系统,用户可以利用该系统浏览图书,按照类别、图书名称等查询图书,并实现用户的购物篮管理功能。同时,系统以系统管理者的身份,实现了图书管理的功能。 \MyBookShop\App_Code\BusinessLogicHelper 网上书店业务逻辑接口层,包括文件: \BookHelper.cs 图书接口类 \UserHelper.cs 用户接口类 \ValidateUtility.cs 数据验证功能类 \MyBookShop\App_Code\BusinessLogicLayer 网上书店业务逻辑层,包括以下文件: \Book.cs 图书信息类 \Cart.cs 购物篮类 \Category.cs 图书类别类 \Chart.cs 通用画图类 \User.cs 用户类 \MyBookShop\App_Code\DataAccessHelper 网上书店数据访问接口层,包括文件: \SQLString.cs 构造SQL语句的通用类 \GetSafeData.cs 安全获取数据类 \MyBookShop\App_Code\DataAccessLayer 网上书店数据访问层,包括文件: \Database.cs 数据访问类 \MyBookShop\App_Code\UserControls 网上书店用户控件,包括文件: \HeaderMenu.ascx 系统菜单控件 \UserCheck.ascx 用户验证控件 \MyBookShop\DB \MyBookShop.sql 网上书店数据库创建脚本 \MyBookShop\Images\ 网上书店系统图片文件夹 \MyBookShop\BookPics\ 网上书店图书图片文件夹 \MyBookShop\Styles\ Styel.css 网上书店系统样式表文件 \MyBookShop\Bill.aspx 用户付款页面 \MyBookShop\BookAdd.aspx 添加图书页面 \MyBookShop\BookDetail.aspx 查看图书详细信息页面 \MyBookShop\BookList.aspx 浏览、查询图书页面 \MyBookShop\BookStatistics.aspx 图书销量统计页面 \MyBookShop\CartView.aspx 购物篮管理页面 \MyBookShop\Login.aspx 用户登录页面 \MyBookShop\Register.aspx 用户注册页面
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值