`

使用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自带功能
















分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics