Web程序设计ASP.NET第2版.pdf
http://www.100md.com
2020年11月17日
![]() |
| 第1页 |
![]() |
| 第10页 |
![]() |
| 第20页 |
![]() |
| 第28页 |
![]() |
| 第46页 |
![]() |
| 第113页 |
参见附件(23545KB,606页)。
《21世纪高等教育计算机规划教材:Web程序设计·ASP.NET(第2版)》实践知识与理论知识并重,力求使读者通过亲自动手来掌握ASP.NET新技术,从而学习尽可能多的知识,了解尽可能多的应用

内容简介
全书共12章,内容分为两部分。第一部分为第1章和第2章,主要介绍Web基础知识和ASPNET相关知识。第二部分为第3章-第12章,从网络涉及的实用模块出发,结合流行的技术和组件,详细介绍每个模块的设计原理及实现过程,进而讲解ASP.NET在网络开发中的应用,内容主要包括ASPNET控件、ADO.NET、数据绑定、LINQ查询、网站主题、数据验证和网络优化等。
本书实践知识与理论知识并重,力求使读者通过亲自动手来掌握ASPNET新技术,从而学习尽可能多的知识,了解尽可能多的应用。本书可作为普通高等院校相关专业Web程序设计、网络程序设计、ASPNET程序设计等课程的教材,同时也适用于初、中级ASPNET用户学习参考。
本书特点
1.版本最新,与时俱进
采用最新的ASP.NET 4.0技术,使用Visual Studio 2010开发环境,在讲解各个实例的时候,结合了它的新功能。
2·采用最流行的网络应用模块
本书涉及了网站中常见的应用模块,并详细介绍了模块的应用方向。
3步骤清晰,说明详细
在具体介绍模块功能的时候,为了让读者从开始就能知道这个模块的实现方法,本书还提供了详细的图例,说明模块是如何设计、如何实现以及如何应用到项目中的,并且在图例中稍显复杂的地方提供了详细的标注,让读者一看就明白整个模块的设计原理和实现手段。
4讲解通俗,步骤详细
每个实例的制作步骤都以通俗易懂的语言阐述,并穿插讲解有关技巧性内容,在阅读时就像听课一样详细而贴切。读者只需要按照步骤操作,就可以轻松地完成一个模块的制作,这样不但掌握了开发的步骤,还掌握了开发的技巧。
现在Intemet的发展
随着大量商业公司网络进入Intemet,网上商业应用取得高速的发展,同时也使Internet能为用户提供更多的服务,使Intermet迅速普及和发展起来。
现在Intemet已发展得更为多元化,不仅仅单纯为科研服务,正逐步进入人们日常生活的各个领域。近几年来,Intermet在规模和结构上都有了很大的发展,已经发展成为一个名副其实的“全球网"。
网络的出现,改变了人们使用计算机的方式,而Internet的出现,又改变了人们使用网络的方式。Intemet使计算机用户不再被局限于分散的计算机上,同时,也使他们脱离了特定网络的约束。任何人只要进入了Intemet,就可以利用网络中和各种计算机上的丰富资源。
HTTP简介
在我们访问网站的时候,通常都会在浏览器的地址栏里输入网站地址,这个地址就是URL(Uniform Resource Locator,统一资源定位系统)。当确定要访问这个网址的时候,浏览器就会通过HTTP从Web服务器上获取提取的网页代码,最终翻译成用户易读的页面文字、图片和多媒体等信息。
例如,Microsoft官方的网址为http://www.Microsoft.com/,其各个组成部分的含义如下。
http://:代表超文本传输协议,通知Microsoft.com服务器显示Web页,通常不用输入。
www:代表一个Web(万维网)服务器。
Microsoft.com:这是装有网页的服务器的域名或站点服务器的名称。
Internet的基本协议是TCP/P,然而在TCPP模型最上层的是应用层
(Application Layer),它包含所有高层的协议。高层协议有文件传输协议(FTP)、电子邮件传输协议(SMTP)、域名系统服务
(DNS)、网络新闻传輸协(NNTP)和超本t协i(HTTP)等。
HTTP是用于从www服务器传输超文本到本地浏览器的传输协议。它可以使浏览器更加高效,使网络传输减少。它不仅保证计算机正确快速地传输超文本文档,还确定传输文档中的哪一部分,以及哪部分内容首先显示(如文本先于图形)等。这就是在浏览器中看到的网页地址都是以“htp://头的原因。
Web程序设计ASP.NET第2版截图



目 录
封面
扉页
版权
前言
第1章 Web基础知识
1.1 Internet基础
1.1.1 Internet的起源
1.1.2 现在Internet的发展
1.2 Web结构
1.2.1 HTTP简介
1.2.2 BS结构简介
1.2.3 CS结构简介
1.2.4 BS结构与CS结构比较
1.2.5 Web系统的三层结构
1.3 网页构成技术——HTML
1.3.1 HTML概述
1.3.2 HTML文件结构
小结
习题
上机指导
实验:输出一个字符串
第2章 ASP.NET概述
2.1 .NET开发
2.1.1 .NET框架简介2.1.2 ASP.NET与.NET框架的关系
2.1.3 ASP、ASP.NET、PHP、JSP比较
2.2 开发工具Visual Studio 2010概述
2.2.1 Visual Studio 2010简介
2.2.2 使用Visual Studio 2010
2.2.3 配置IIS
2.3 第一个ASP.NET程序
2.3.1 搭建Web项目
2.3.2 添加代码
2.3.3 分析代码
2.3.4 测试代码
小结
习题
上机指导
实验一:输出一个字符串
实验二:交互式输出字符串
第3章 ASP.NET常用控件
3.1 开发站点前的配置
3.1.1 创建Web站点
3.1.2 ASP.NET配置文件
3.1.3 使用站点安全工具配置身份验证模式
3.1.4 配置站点的数据存储方式
3.1.5 定制自己的数据存储方式
3.2 ASP.NET控件概述
3.2.1 HTML控件
3.2.2 HTML服务器控件
3.2.3 Web服务器控件3.3 常用的ASP.NET服务器控件
3.3.1 文本框控件TextBox
3.3.2 按钮控件Button
3.3.3 单选框控件RadioButton
3.3.4 链接按钮控件LinkButton
3.3.5 列表框控件ListBox
3.3.6 复选框控件CheckBox
3.3.7 图像控件Image
3.4 登录控件
3.4.1 登录控件简介
3.4.2 使用登录控件
3.5 最普通的登录方式
3.5.1 用户注册功能
3.5.2 用户登录功能
3.5.3 修改密码功能
3.5.4 在登录页面中添加注册导航功能
3.5.5 显示登录用户名和用户状态功能
3.5.6 根据用户登录身份显示不同效果页功能
3.5.7 小结
3.6 基于角色的登录方式
3.6.1 在应用程序中启用角色
3.6.2 创建角色
3.6.3 创建角色访问规则
3.6.4 赋予用户角色权限
3.6.5 验证角色的登录
3.6.6 小结
3.7 匿名用户的授权管理小结
习题
上机指导
实验一:用户注册功能
实验二:用户管理系统
第4章 ASP.NET对象编程
4.1 ASP.NET的数据持久性对象
4.1.1 Session对象简介
4.1.2 Cookies对象简介
4.1.3 Application对象简介
4.1.4 ViewState对象简介
4.2 ASP.NET的数据访问对象
4.2.1 访问Server对象
4.2.2 访问Request对象
4.2.3 访问Response对象
4.3 访问Access数据库
4.3.1 System.Data.OleDb命名空间
4.3.2 打开和关闭连接
4.3.3 读取数据
4.3.4 使用SQL语句操作数据
4.4 一个简单的投票系统
4.4.1 设计投票功能的数据存储方式
4.4.2 投票项目管理功能
4.4.3 投票功能
4.4.4 图形化显示投票结果功能
4.4.5 小结
4.5 防止重复投票技术4.5.1 利用Session对象
4.5.2 利用Cookies对象
4.5.3 验证IP和登录时间
小结
习题
上机指导
实验一:从Access数据库中读取数据
实验二:投票系统
第5章 ASP.NET常用验证控件
5.1 ASP.NET验证控件
5.1.1 验证控件介绍
5.1.2 验证控件的基类BaseValidator
5.2 使用ASP.NET验证控件
5.2.1 使用RequiredFieldValidator进行非空验证
5.2.2 使用RangeValidator限定输入范围
5.2.3 使用CompareValidator进行比较验证
5.2.4 使用CustomValidator自定义验证
5.2.5 使用ValidationSummary显示验证信息
5.3 使用正则表达式
5.3.1 正则表达式的用途
5.3.2 正则表达式的语法
5.3.3 使用RegularExpressionValidator验证数据
5.4 控件前缀
小结
习题
上机指导
实验:实现注册页面的验证第6章 ASP.NET常用主题控件
6.1 导航控件
6.1.1 使用Menu创建菜单
6.1.2 使用TreeView创建树菜单
6.1.3 使用SiteMapPath创建导航路径
6.2 使用母版页
6.2.1 添加母版页
6.2.2 添加内容页
6.2.3 母版页应用
6.2.4 母版页应用原理
6.3 母版页进阶
6.3.1 指定默认内容
6.3.2 动态设置母版页
6.3.3 母版页与内容页的事件触发顺序
6.4 统一站点主题
6.4.1 添加主题
6.4.2 应用主题
6.4.3 使用配置文件配置主题
6.5 使用用户控件
6.5.1 添加用户控件
6.5.2 制作登录用户控件
6.5.3 使用登录用户控件
6.5.4 在web.config中注册用户控件
6.5.5 转换现有页为用户控件
6.6 用户控件进阶
6.6.1 公开用户控件中的属性
6.6.2 动态创建用户控件6.7 Web窗体的处理过程
小结
习题
上机指导
实验一:创建一个母版页
实验二:添加一个内容页
实验三:创建一个用户控件
第7章 ADO.NET编程
7.1 SQL Server概述
7.1.1 SQL Server简介
7.1.2 SQL Server安装
7.1.3 SQL简介
7.2 访问SQL Server数据库
7.2.1 System.Data.SqlClient命名空间简介
7.2.2 打开和关闭连接
7.2.3 读取数据
7.2.4 使用SQL语句操作数据
7.3 创建留言板
7.3.1 设计保存留言内容的数据库
7.3.2 部署数据库提供程序
7.3.3 保存数据的方法
7.3.4 发表留言功能
7.3.5 浏览所有留言功能
7.3.6 管理员登录功能
7.3.7 删除留言功能
7.3.8 小结
小结习题
上机指导
实验一:从SQL Server数据库中读取数据
实验二:留言板系统
第8章 XML访问
8.1 XML技术
8.1.1 理解XML
8.1.2 XML相关类
8.1.3 XML数据的访问
8.1.4 创建XML节点
8.1.5 修改XML节点
8.1.6 删除XML节点
8.1.7 使用XSL文件
8.2 创建XML留言板
8.2.1 保存留言内容的XML模板
8.2.2 读取和保存XML数据的方法
8.2.3 发表留言功能
8.2.4 浏览所有留言功能
8.2.5 管理员登录功能
8.2.6 用XSL文件转换XML文件
8.2.7 删除留言功能
8.2.8 小结
小结
习题
上机指导
实验一:读取XML数据
实验二:留言板系统第9章 数据绑定
9.1 数据绑定控件
9.1.1 GridView控件的使用
9.1.2 Repeater控件的使用
9.1.3 DataList控件的使用
9.2 后台管理模块
9.2.1 新闻模块数据库设计
9.2.2 新闻发布模板
9.2.3 新闻修改和删除功能
9.2.4 后台管理登录功能
9.3 新闻主界面展示功能
9.3.1 普通展示功能
9.3.2 滚动展示功能
9.4 新闻列表功能
9.5 新闻内容浏览功能
9.6 整合新闻发布模块
小结
习题
上机指导
实验一:使用GridView控件显示数据
实验二:新闻发布系统
第10章 强大的LINQ查询
10.1 认识LINQ
10.2 LINQ语法基础
10.2.1 局部变量
10.2.2 扩展方法
10.2.3 Lambda表达式10.2.4 匿名类型
10.3 认识LINQ to DataSet
10.3.1 对DataSet对象使用LINQ查询
10.3.2 LINQ to DataSet应用实例
10.4 认识LINQ to SQL
10.4.1 创建LINQ to SQL实体类
10.4.2 查询数据
10.4.3 插入数据
10.4.4 修改数据
10.5 LINQ to XML
10.5.1 使用LINQ to XML创建一个XML文件
10.5.2 常用方法
10.5.3 高级查询
10.5.4 向XML树中添加元素、属性和节点
10.6 设置网站的关键字
小结
习题
上机指导
实验:使用LINQ查询数据
第11章 网站优化
11.1 数据库方面
11.1.1 在ADO.NET中调用存储过程
11.1.2 使用LINQ调用存储过程
11.1.3 合理使用连接池
11.1.4 优化查询语句
11.2 C代码优化
11.2.1 多用泛型11.2.2 优先采用使用foreach循环
11.2.3 不要过度依赖异常处理
11.2.4 使用StringBuilder类拼接字符串
11.3 ASP.NET方面
11.3.1 适当使用服务器控件
11.3.2 使用缓存
11.3.3 优化ASP.NET配置文件
11.3.4 ASP.NET网站预编译
11.3.5 其他
11.4 使用AJAX技术
11.4.1 认识AJAX
11.4.2 使用AJAX服务器控件
11.4.3 AJAX购票系统
小结
习题
上机指导
实验一:刷新页面更改当前时间
实验二:缓存当前时间
实验三:利用母版页缓存时间
实验四:使用AJAX动态显示时间
实验五:使用AJAX刷新页面
第12章 综合实例——BBS论坛
12.1 论坛数据库的介绍
12.1.1 设计数据库结构
12.1.2 设置数据表关系
12.1.3 配置数据库Provider
12.1.4 配置web.config中的数据库连接12.1.5 添加数据库访问类
12.2 新用户入口
12.2.1 用户注册
12.2.2 用户登录
12.3 论坛主题的类别
12.3.1 添加论坛的类别
12.3.2 编辑论坛的类别
12.3.3 显示论坛的类别
12.4 论坛的帖子详细信息
12.4.1 帖子列表的显示
12.4.2 帖子的发布
12.4.3 显示帖子的详细信息
12.4.4 帖子的回复
小结21世纪高等教育计算机规划教材
Web程序设计——ASP.NET(第2版)
Web Development——ASP.NET
■陈冠军 马翠翠 主编
■赵越 陈静 副主编
人民邮电出版社
北京图书在版编目(CIP)数据
Web程序设计:ASP.NET陈冠军,马翠翠主编,--2版.--北京:人
民邮电出版社,2013.4
21世纪高等教育计算机规划教材
ISBN 978-7-115-31127-6
Ⅰ.①W… Ⅱ.①陈…②马… Ⅲ.①网页制作工具—程序设计—高
等学校—教材 Ⅳ.①TP393.092
中国版本图书馆CIP数据核字(2013)第040427号
内容提要
全书共12章,内容分为两部分。第一部分为第1章和第2章,主要介
绍Web基础知识和ASP.NET相关知识。第二部分为第3章~第12章,从
网络涉及的实用模块出发,结合流行的技术和组件,详细介绍每个模块
的设计原理及实现过程,进而讲解 ASP.NET 在网络开发中的应用,内
容主要包括 ASP.NET控件、ADO.NET、数据绑定、LINQ 查询、网站
主题、数据验证和网络优化等。
本书实践知识与理论知识并重,力求使读者通过亲自动手来掌握
ASP.NET新技术,从而学习尽可能多的知识,了解尽可能多的应用。本
书可作为普通高等院校相关专业 Web 程序设计、网络程序设计、ASP.NET程序设计等课程的教材,同时也适用于初、中级ASP.NET用户
学习参考。
21世纪高等教育计算机规划教材
Web程序设计——ASP.NET(第2版)
◆主编 陈冠军 马翠翠
副主编 赵越 陈静
责任编辑 李海涛
◆人民邮电出版社出版发行 北京市崇文区夕照寺街14号
邮编 100061 电子邮件 315@ptpress.com.cn网址 http:www.ptpress.com.cn
三河市海波印务有限公司印刷
◆开本:787×1092 116
印张:16.75 2013年4月第2版
字数:455千字 2013年4月河北第1次印刷
ISBN 978-7-115-31127-6
定价:35.00元
读者服务热线:(010)67170985 印装质量热线:(010)67129223
反盗版热线:(010)67171154前言
随着各种平板电脑和新兴网站的发展,目前Web开发成为世界上很
流行的职业,Web 网站成为非常赚钱的网站,微软公司推出的
ASP.NET,是很具竞争力的Web 开发技术。因为它提高了界面和代码的
可定制性,封装了复杂的运算和抽象的类,使得网络开发入门人员可以
更轻松地掌握开发技术。
因此,越来越多的高等院校开始在计算机科学与技术、网络工程、软件工程等相关专业开设“Web程序设计”、“网络程序设计”、“ASP.NET
程序设计”等课程。课程的授课内容和授课方式随着技术的发展也在不
断更新和完善,相应的教材也层出不穷。
然而,编者在实际的教学过程中发现,传统的“Web 程序设
计”、“网络程序设计”、“ASP.NET 程序设计”等课程教材在内容组织上
与原有的程序设计类课程教材相类似,主要以一个一个的知识点理论讲
解为主,间或插入一些小的演示性或验证性实例。学生通过这种方式完
成这些课程的学习后,他们会觉得自己学习了大量的语言知识和编程知
识,但是当真正坐在计算机前开始进行网络应用开发时,却往往会感到
无从下手。
为了改变目前Web程序设计类课程的现状,在介绍理论知识的同时
真正培养学生实际的动手开发能力,编者在总结多年教学经验的基础上
精心编写了本书。
全书共12章,分为两部分。第一部分为第1章和第2章,主要介绍了
Web基础知识和 ASP.NET 相关知识,内容讲解符合学生的学习和认知规律,帮助学生为深入学习本课程做好准备。第二部分为第 3章~第 12
章,从网络涉及的实用模块出发,结合流行的技术和组件,详细介绍每
个模块的设计原理及实现过程,进而讲解ASP.NET 4.0 在网络开发中的
应用。在讲解具体知识的时候,本书语言简单易懂,通过告诉读者如何
实现特定功能,进而让读者在实际操作中熟悉软件的开发技术。
与其他相关教材相比,本书具有下列特点。
1.版本最新,与时俱进
采用最新的ASP.NET 4.0技术,使用Visual Studio 2010开发环境,在讲解各个实例的时候,结合了它的新功能。
2.采用最流行的网络应用模块
本书涉及了网站中常见的应用模块,并详细介绍了模块的应用方
向。
3.步骤清晰,说明详细
在具体介绍模块功能的时候,为了让读者从开始就能知道这个模块
的实现方法,本书还提供了详细的图例,说明模块是如何设计、如何实
现以及如何应用到项目中的,并且在图例中稍显复杂的地方提供了详细
的标注,让读者一看就明白整个模块的设计原理和实现手段。
4.讲解通俗,步骤详细
每个实例的制作步骤都以通俗易懂的语言阐述,并穿插讲解有关技
巧性内容,在阅读时就像听课一样详细而贴切。读者只需要按照步骤操
作,就可以轻松地完成一个模块的制作,这样不但掌握了开发的步骤,还掌握了开发的技巧。
本书由陈冠军、马翠翠任主编,赵越、陈静任副主编。
编者
2013年1月第1章 Web基础知识
随着Internet技术的普及,Web应用变得非常广泛。因而,Web开发
现在也成为一个热门行业。学习Web开发首先需要掌握Internet基础、Web结构、HTML等基础知识,本章将依次讲解这些内容。1.1 Internet基础
随着新闻媒体对“信息高速公路”的宣传和介绍的增多,相信大多数
人都曾接触过一些有关Internet的报道,对Internet这一词不会陌生。但
如果要解释清楚它到底是什么,就必须从它的起源和发展说起。
1.1.1 Internet的起源
Internet是在美国较早的军用计算机网ARPAnet的基础上经过不断发
展变化而形成的。Internet的发展主要分为以下几个阶段。
1.Internet的雏形形成阶段
1969年,美国国防部高级研究计划局(Advanced Research Projects
Agency,ARPA)开始建立一个命名为ARPAnet的网络。当时建立这个
网络的目的只是为了将美国的几个军事及研究机构的联系用计算机主机
连接起来。人们普遍认为这就是Internet的雏形。
发展Internet时,沿用了ARPAnet的技术和协议,而且在Internet正式
形成之前,已经建立了以ARPAnet为主的国际网。这种网络之间的连接
模式,也是随后Internet所用的模式。
2.Internet的发展阶段
美国国家科学基金会(NSF)在1985年开始建立NSFNET。NSF规
划建立了15个超级计算中心及国家教育科研网,用于支持科研和教育的
全国性规模的计算机网络NSFNET,并以此作为基础实现同其他网络的
连接。NSFNET 成为 Internet 中主要用于科研和教育的主干部分,代替
了ARPAnet的骨干地位。
1989年,MILNET(由ARPAnet分离出来)实现和NSFNET连接后,就开始采用Internet这个名称。自此以后,其他部门的计算机网相继
并入Internet,ARPAnet就宣告解散。
3.Internet的商业化阶段
20世纪90年代初,商业机构开始进入Internet,这使Internet开始了
商业化的新进程,也成为Internet大发展的强大推动力。1995年,NSFNET停止运作,Internet已彻底商业化了。
这种把不同网络连接在一起的技术的出现,使计算机网络的发展进
入一个新的时期,形成由网络实体相互连接而构成的超级计算机网络,人们把这种网络形态称为Internet(因特网)。
1.1.2 现在Internet的发展
随着大量商业公司网络进入Internet,网上商业应用取得高速的发
展,同时也使Internet能为用户提供更多的服务,使Internet迅速普及和
发展起来。
现在 Internet 已发展得更为多元化,不仅仅单纯为科研服务,正逐
步进入人们日常生活的各个领域。近几年来,Internet在规模和结构上都
有了很大的发展,已经发展成为一个名副其实的“全球网”。
网络的出现,改变了人们使用计算机的方式,而 Internet 的出现,又改变了人们使用网络的方式。Internet使计算机用户不再被局限于分散
的计算机上,同时,也使他们脱离了特定网络的约束。任何人只要进入
了Internet,就可以利用网络中和各种计算机上的丰富资源。1.2 Web结构
Web 结构也称为浏览器服务器(BS)结构,使用超文本传输协议
(Hypertext Transport Procotocol,HTTP)传输数据,相比较客户端服
务器(CS)结构有很多不同。本节将详细剖析一下Web应用程序的内
部结构。
1.2.1 HTTP简介
在我们访问网站的时候,通常都会在浏览器的地址栏里输入网站地
址,这个地址就是 URL (Uniform Resource Locator,统一资源定位系
统)。当确定要访问这个网址的时候,浏览器就会通过HTTP从Web服
务器上获取提取的网页代码,最终翻译成用户易读的页面文字、图片和
多媒体等信息。
例如,Microsoft官方的网址为http:www.Microsoft.com,其各个组
成部分的含义如下。
http::代表超文本传输协议,通知Microsoft.com服务器显示Web
页,通常不用输入。
www:代表一个Web(万维网)服务器。
Microsoft.com:这是装有网页的服务器的域名或站点服务器的名
称。
Internet的基本协议是TCPIP,然而在TCPIP模型最上层的是应用层
(Application Layer),它包含所有高层的协议。高层协议有文件传输
协议(FTP)、电子邮件传输协议(SMTP)、域名系统服务
(DNS)、网络新闻传输协议(NNTP)和超文本传输协议(HTTP)等。
HTTP是用于从WWW服务器传输超文本到本地浏览器的传输协
议。它可以使浏览器更加高效,使网络传输减少。它不仅保证计算机正
确快速地传输超文本文档,还确定传输文档中的哪一部分,以及哪部分
内容首先显示(如文本先于图形)等。这就是在浏览器中看到的网页地
址都是以“http:”开头的原因。
1.2.2 BS结构简介
BS结构(BrowserServer结构)即浏览器服务器结构。它是随着
Internet技术的兴起对CS结构的一种变化或者改进的结构。在这种结构
下,用户工作界面通过WWW浏览器来实现,极少部分事务逻辑在前端
(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成
所谓三层结构。这样就大大简化了客户端计算机载荷,减轻了系统维护
与升级的成本和工作量,降低了用户的总体成本。
以目前的技术看,局域网建立BS结构的网络应用,并通过
InternetIntranet模式下数据库应用,相对来说易于把握,成本也是较低
的。它是一次性到位的开发,能实现不同的人员,从不同的地点,以不
同的接入方式(如LAN、WAN、InternetIntranet等)访问和操作共同的
数据库;它能有效地保护数据平台和管理访问权限,服务器数据库也很
安全。
BS 结构最大的优点就是可以在任何地方进行操作而不用安装任何
专门的软件。只要有一台能上网的计算机就能使用,客户端零维护。系
统的扩展非常容易,只要能上网,再由系统管理员分配一个用户名和密
码,就可以使用了。它甚至可以在线申请,通过公司内部的安全认证
(如CA证书)后,不需要人的参与,系统可以自动分配给用户一个账
号进入系统。1.2.3 CS结构简介
CS结构(ClientServer结构)即客户服务器结构。其中,服务器通
常采用高性能的PC、工作站或小型机,并采用大型数据库系统(如
Oracle、Sybase、Informix或SQL Server),客户端需要安装专用的客户
端软件。
CS结构的优点是能充分发挥客户端PC的处理能力,很多工作可以
在客户端处理后再提交给服务器。对应的优点就是客户端响应速度快,其缺点主要有以下几个。
(1)只适用于局域网。随着互联网的飞速发展,移动办公和分布
式办公越来越普及,这需要我们的系统具有扩展性。这种远程访问方式
需要专门的技术,同时要对系统进行专门的设计来处理分布式的数据。
(2)客户端需要安装专用的客户端软件。首先是涉及安装的工作
量,其次是任何一台计算机出问题(如病毒、硬件损坏)都需要进行安
装或维护。特别是有很多分部或专卖店的情况,不是工作量的问题,而
是路程的问题。还有系统软件升级时,每一台客户机需要重新安装,其
维护和升级成本非常高。
(3)对客户端的操作系统一般也会有限制。可能适应于 Windows
XP,但不能用于 Windows 8Vista,或者不适用于Microsoft公司新的操
作系统等,更不用说Linux、UNIX等。
1.2.4 BS结构与CS结构比较
BS结构与CS结构可以从以下几方面进行比较。
1.数据安全性比较
由于CS结构软件的数据分布特性,客户端所发生的火灾、盗抢、地震、病毒、黑客等都成了可怕的数据杀手。另外,对于集团级的异地软件应用,CS结构的软件必须在各地安装多个服务器,并在多个服务
器之间进行数据同步。如此一来,每个数据点上的数据安全都影响了整
个应用的数据安全。所以,对于集团级的大型应用来讲,CS结构软件
的安全性是令人无法接受的。对于 BS 结构的软件来讲,由于其数据集
中存放于总部的数据库服务器,客户端不保存任何业务数据和数据库连
接信息,也无须进行数据同步,所以这些安全问题也就自然不存在了。
2.数据一致性比较
在CS结构软件的解决方案里,对于异地经营的大型集团都采用各
地安装区域级服务器,然后再进行数据同步的模式。每天必须在这些服
务器同步完毕之后,总部才可得到最终的数据。由于局部网络故障造成
个别数据库不能同步不说,即使同步上来,各服务器也不是一个时点上
的数据,数据永远无法一致,不能用于决策。对于BS结构的软件来
讲,其数据是集中存放的,客户端发生的每一笔业务单据都直接进入中
央数据库,不存在数据一致性的问题。
3.数据实时性比较
在集团级应用里,CS结构不可能随时随地看到当前业务的发生情
况,看到的都是事后数据;而BS结构则不同,它可以实时看到当前发
生的所有业务,方便了快速决策,有效地避免了企业损失。
4.数据溯源性比较
由于 BS 结构的数据是集中存放的,所以总公司可以直接追溯到各
级分支机构(分公司、门店)的原始业务单据,也就是说看到的结果可
溯源。大部分 CS 结构的软件则不同,为了减少数据通信量,仅仅上传
中间报表数据,在总部不可能查到各分支机构(分公司、门店)的原始
单据。
5.服务响应及时性比较
企业的业务流程、业务模式不是一成不变的,随着企业不断发展,必然会不断调整。软件供应商提供的软件也不是完美无缺的,所以,对已经部署的软件产品进行维护、升级是正常的。CS结构软件由于其应
用是分布的,需要对每一个使用结点进行程序安装,所以即使非常小的
程序缺陷都需要很长的重新部署时间。重新部署时,为了保证各程序版
本的一致性,必须暂停一切业务进行更新(即“休克更新”),其服务响
应时间基本不可忍受。而BS结构的软件不同,其应用都集中于总部服
务器上,各应用结点并没有任何程序,一个地方更新则全部应用程序更
新,可以做到快速服务响应。
6.网络应用限制比较
CS结构软件仅适用于局域网内部用户或宽带用户(1Mbits以
上)。而BS结构软件可以适用于任何网络结构(包括33.6kbits拨号入
网方式),特别适于宽带不能到达的地方。
1.2.5 Web系统的三层结构
BS 系统常常采用如图 1-1 所示的多层结构,这种多层结构在层与
层之间相互独立,任何一层的改变不会影响其他层的功能。在多层结构
中,具有如下基本的三层结构。图1-1 Web系统的多层结构图
(1)数据访问层:实现对数据的访问功能,如增加、删除、修
改、查询数据。
(2)业务逻辑层:实现业务的具体逻辑功能,如学生入学、退
学、成绩管理等。
(3)页面显示层:将业务功能在浏览器上显示出来,如分页显示
学生信息等。
除此之外,还可能具有其他的层次。特别是在业务逻辑层,常常需
要根据实际情况增加层次,但总的原则是:每一层次都完成相对独立的
系统功能。在开发过程中,需要在逻辑上清晰这三层分别实现的功能,并以此
设计整个系统的实现以及管理整个系统的代码文件。不能把处于不同层
次的文件混在一起,否则会造成系统逻辑上的混乱,使庞大的系统难于
管理和维护,容易导致系统的失败。
另外,在这三层基础之下,还有更为基础的工作,即数据库的设计
模型。数据库的设计模型是整个系统的基础,一旦确定了数据库的结
构,在开发过程中就不要轻易改变,否则会对后面的工作造成巨大的负
担。1.3 网页构成技术——HTML
1.3.1 HTML概述
超文本标记语言(Hyper Text Markup Language,HTML)是为网页
创建和其他可在网页浏览器中看到的信息设计的一种标记语言。HTML
被用来结构化信息,如标题、段落、列表等,也可用来在一定程度上描
述文档的外观和语义。由蒂姆·伯纳斯·李给出原始定义,由 IETF 用简
化的SGML(标准通用标记语言)语法进行进一步发展的HTML后来成
为国际标准,由万维网联盟(W3C)维护。
包含HTML内容的文件最常用的扩展名是.html,但是像DOS这样的
旧操作系统限制扩展名为最多3个字符,所以.htm扩展名也被使用。虽
然现在使用得比较少一些了,但是.htm扩展名仍旧普遍被支持。编者可
以用任何文本编辑器或所见即所得的HTML编辑器来编辑HTML文件。
早期的HTML语法被定义成较松散的规则,以有助于不熟悉网络出
版的人采用。网页浏览器接受了这个现实,并且可以显示语法不严格的
网页。随着时间的流逝,官方标准渐渐趋于严格的语法,但是浏览器继
续显示一些远称不上合乎标准的HTML。使用XML的严格规则的
XHTML (可扩展超文本标记语言)是W3C计划中的HTML的接替者。
虽然很多人认为它已经成为当前的HTML 标准,但是它实际上是一个独
立的和 HTML 平行发展的标准。W3C 目前的建议是使用XHTML 1.1、XHTML 1.0或者HTML 4.01进行网络出版。
1.3.2 HTML文件结构
一个HTML文档由一系列的元素和标签组成。元素名不区分大小写。HTML用标签来规定元素的属性和它在文件中的位置。HTML超文
本文档分为文档头和文档体两部分,在文档头里对这个文档进行了一些
必要的定义,文档体中才是要显示的各种文档信息。
下面是一个最基本的HTML文档的代码:
一个简单的HTML示例
这是标题
封面
扉页
版权
前言
第1章 Web基础知识
1.1 Internet基础
1.1.1 Internet的起源
1.1.2 现在Internet的发展
1.2 Web结构
1.2.1 HTTP简介
1.2.2 BS结构简介
1.2.3 CS结构简介
1.2.4 BS结构与CS结构比较
1.2.5 Web系统的三层结构
1.3 网页构成技术——HTML
1.3.1 HTML概述
1.3.2 HTML文件结构
小结
习题
上机指导
实验:输出一个字符串
第2章 ASP.NET概述
2.1 .NET开发
2.1.1 .NET框架简介2.1.2 ASP.NET与.NET框架的关系
2.1.3 ASP、ASP.NET、PHP、JSP比较
2.2 开发工具Visual Studio 2010概述
2.2.1 Visual Studio 2010简介
2.2.2 使用Visual Studio 2010
2.2.3 配置IIS
2.3 第一个ASP.NET程序
2.3.1 搭建Web项目
2.3.2 添加代码
2.3.3 分析代码
2.3.4 测试代码
小结
习题
上机指导
实验一:输出一个字符串
实验二:交互式输出字符串
第3章 ASP.NET常用控件
3.1 开发站点前的配置
3.1.1 创建Web站点
3.1.2 ASP.NET配置文件
3.1.3 使用站点安全工具配置身份验证模式
3.1.4 配置站点的数据存储方式
3.1.5 定制自己的数据存储方式
3.2 ASP.NET控件概述
3.2.1 HTML控件
3.2.2 HTML服务器控件
3.2.3 Web服务器控件3.3 常用的ASP.NET服务器控件
3.3.1 文本框控件TextBox
3.3.2 按钮控件Button
3.3.3 单选框控件RadioButton
3.3.4 链接按钮控件LinkButton
3.3.5 列表框控件ListBox
3.3.6 复选框控件CheckBox
3.3.7 图像控件Image
3.4 登录控件
3.4.1 登录控件简介
3.4.2 使用登录控件
3.5 最普通的登录方式
3.5.1 用户注册功能
3.5.2 用户登录功能
3.5.3 修改密码功能
3.5.4 在登录页面中添加注册导航功能
3.5.5 显示登录用户名和用户状态功能
3.5.6 根据用户登录身份显示不同效果页功能
3.5.7 小结
3.6 基于角色的登录方式
3.6.1 在应用程序中启用角色
3.6.2 创建角色
3.6.3 创建角色访问规则
3.6.4 赋予用户角色权限
3.6.5 验证角色的登录
3.6.6 小结
3.7 匿名用户的授权管理小结
习题
上机指导
实验一:用户注册功能
实验二:用户管理系统
第4章 ASP.NET对象编程
4.1 ASP.NET的数据持久性对象
4.1.1 Session对象简介
4.1.2 Cookies对象简介
4.1.3 Application对象简介
4.1.4 ViewState对象简介
4.2 ASP.NET的数据访问对象
4.2.1 访问Server对象
4.2.2 访问Request对象
4.2.3 访问Response对象
4.3 访问Access数据库
4.3.1 System.Data.OleDb命名空间
4.3.2 打开和关闭连接
4.3.3 读取数据
4.3.4 使用SQL语句操作数据
4.4 一个简单的投票系统
4.4.1 设计投票功能的数据存储方式
4.4.2 投票项目管理功能
4.4.3 投票功能
4.4.4 图形化显示投票结果功能
4.4.5 小结
4.5 防止重复投票技术4.5.1 利用Session对象
4.5.2 利用Cookies对象
4.5.3 验证IP和登录时间
小结
习题
上机指导
实验一:从Access数据库中读取数据
实验二:投票系统
第5章 ASP.NET常用验证控件
5.1 ASP.NET验证控件
5.1.1 验证控件介绍
5.1.2 验证控件的基类BaseValidator
5.2 使用ASP.NET验证控件
5.2.1 使用RequiredFieldValidator进行非空验证
5.2.2 使用RangeValidator限定输入范围
5.2.3 使用CompareValidator进行比较验证
5.2.4 使用CustomValidator自定义验证
5.2.5 使用ValidationSummary显示验证信息
5.3 使用正则表达式
5.3.1 正则表达式的用途
5.3.2 正则表达式的语法
5.3.3 使用RegularExpressionValidator验证数据
5.4 控件前缀
小结
习题
上机指导
实验:实现注册页面的验证第6章 ASP.NET常用主题控件
6.1 导航控件
6.1.1 使用Menu创建菜单
6.1.2 使用TreeView创建树菜单
6.1.3 使用SiteMapPath创建导航路径
6.2 使用母版页
6.2.1 添加母版页
6.2.2 添加内容页
6.2.3 母版页应用
6.2.4 母版页应用原理
6.3 母版页进阶
6.3.1 指定默认内容
6.3.2 动态设置母版页
6.3.3 母版页与内容页的事件触发顺序
6.4 统一站点主题
6.4.1 添加主题
6.4.2 应用主题
6.4.3 使用配置文件配置主题
6.5 使用用户控件
6.5.1 添加用户控件
6.5.2 制作登录用户控件
6.5.3 使用登录用户控件
6.5.4 在web.config中注册用户控件
6.5.5 转换现有页为用户控件
6.6 用户控件进阶
6.6.1 公开用户控件中的属性
6.6.2 动态创建用户控件6.7 Web窗体的处理过程
小结
习题
上机指导
实验一:创建一个母版页
实验二:添加一个内容页
实验三:创建一个用户控件
第7章 ADO.NET编程
7.1 SQL Server概述
7.1.1 SQL Server简介
7.1.2 SQL Server安装
7.1.3 SQL简介
7.2 访问SQL Server数据库
7.2.1 System.Data.SqlClient命名空间简介
7.2.2 打开和关闭连接
7.2.3 读取数据
7.2.4 使用SQL语句操作数据
7.3 创建留言板
7.3.1 设计保存留言内容的数据库
7.3.2 部署数据库提供程序
7.3.3 保存数据的方法
7.3.4 发表留言功能
7.3.5 浏览所有留言功能
7.3.6 管理员登录功能
7.3.7 删除留言功能
7.3.8 小结
小结习题
上机指导
实验一:从SQL Server数据库中读取数据
实验二:留言板系统
第8章 XML访问
8.1 XML技术
8.1.1 理解XML
8.1.2 XML相关类
8.1.3 XML数据的访问
8.1.4 创建XML节点
8.1.5 修改XML节点
8.1.6 删除XML节点
8.1.7 使用XSL文件
8.2 创建XML留言板
8.2.1 保存留言内容的XML模板
8.2.2 读取和保存XML数据的方法
8.2.3 发表留言功能
8.2.4 浏览所有留言功能
8.2.5 管理员登录功能
8.2.6 用XSL文件转换XML文件
8.2.7 删除留言功能
8.2.8 小结
小结
习题
上机指导
实验一:读取XML数据
实验二:留言板系统第9章 数据绑定
9.1 数据绑定控件
9.1.1 GridView控件的使用
9.1.2 Repeater控件的使用
9.1.3 DataList控件的使用
9.2 后台管理模块
9.2.1 新闻模块数据库设计
9.2.2 新闻发布模板
9.2.3 新闻修改和删除功能
9.2.4 后台管理登录功能
9.3 新闻主界面展示功能
9.3.1 普通展示功能
9.3.2 滚动展示功能
9.4 新闻列表功能
9.5 新闻内容浏览功能
9.6 整合新闻发布模块
小结
习题
上机指导
实验一:使用GridView控件显示数据
实验二:新闻发布系统
第10章 强大的LINQ查询
10.1 认识LINQ
10.2 LINQ语法基础
10.2.1 局部变量
10.2.2 扩展方法
10.2.3 Lambda表达式10.2.4 匿名类型
10.3 认识LINQ to DataSet
10.3.1 对DataSet对象使用LINQ查询
10.3.2 LINQ to DataSet应用实例
10.4 认识LINQ to SQL
10.4.1 创建LINQ to SQL实体类
10.4.2 查询数据
10.4.3 插入数据
10.4.4 修改数据
10.5 LINQ to XML
10.5.1 使用LINQ to XML创建一个XML文件
10.5.2 常用方法
10.5.3 高级查询
10.5.4 向XML树中添加元素、属性和节点
10.6 设置网站的关键字
小结
习题
上机指导
实验:使用LINQ查询数据
第11章 网站优化
11.1 数据库方面
11.1.1 在ADO.NET中调用存储过程
11.1.2 使用LINQ调用存储过程
11.1.3 合理使用连接池
11.1.4 优化查询语句
11.2 C代码优化
11.2.1 多用泛型11.2.2 优先采用使用foreach循环
11.2.3 不要过度依赖异常处理
11.2.4 使用StringBuilder类拼接字符串
11.3 ASP.NET方面
11.3.1 适当使用服务器控件
11.3.2 使用缓存
11.3.3 优化ASP.NET配置文件
11.3.4 ASP.NET网站预编译
11.3.5 其他
11.4 使用AJAX技术
11.4.1 认识AJAX
11.4.2 使用AJAX服务器控件
11.4.3 AJAX购票系统
小结
习题
上机指导
实验一:刷新页面更改当前时间
实验二:缓存当前时间
实验三:利用母版页缓存时间
实验四:使用AJAX动态显示时间
实验五:使用AJAX刷新页面
第12章 综合实例——BBS论坛
12.1 论坛数据库的介绍
12.1.1 设计数据库结构
12.1.2 设置数据表关系
12.1.3 配置数据库Provider
12.1.4 配置web.config中的数据库连接12.1.5 添加数据库访问类
12.2 新用户入口
12.2.1 用户注册
12.2.2 用户登录
12.3 论坛主题的类别
12.3.1 添加论坛的类别
12.3.2 编辑论坛的类别
12.3.3 显示论坛的类别
12.4 论坛的帖子详细信息
12.4.1 帖子列表的显示
12.4.2 帖子的发布
12.4.3 显示帖子的详细信息
12.4.4 帖子的回复
小结21世纪高等教育计算机规划教材
Web程序设计——ASP.NET(第2版)
Web Development——ASP.NET
■陈冠军 马翠翠 主编
■赵越 陈静 副主编
人民邮电出版社
北京图书在版编目(CIP)数据
Web程序设计:ASP.NET陈冠军,马翠翠主编,--2版.--北京:人
民邮电出版社,2013.4
21世纪高等教育计算机规划教材
ISBN 978-7-115-31127-6
Ⅰ.①W… Ⅱ.①陈…②马… Ⅲ.①网页制作工具—程序设计—高
等学校—教材 Ⅳ.①TP393.092
中国版本图书馆CIP数据核字(2013)第040427号
内容提要
全书共12章,内容分为两部分。第一部分为第1章和第2章,主要介
绍Web基础知识和ASP.NET相关知识。第二部分为第3章~第12章,从
网络涉及的实用模块出发,结合流行的技术和组件,详细介绍每个模块
的设计原理及实现过程,进而讲解 ASP.NET 在网络开发中的应用,内
容主要包括 ASP.NET控件、ADO.NET、数据绑定、LINQ 查询、网站
主题、数据验证和网络优化等。
本书实践知识与理论知识并重,力求使读者通过亲自动手来掌握
ASP.NET新技术,从而学习尽可能多的知识,了解尽可能多的应用。本
书可作为普通高等院校相关专业 Web 程序设计、网络程序设计、ASP.NET程序设计等课程的教材,同时也适用于初、中级ASP.NET用户
学习参考。
21世纪高等教育计算机规划教材
Web程序设计——ASP.NET(第2版)
◆主编 陈冠军 马翠翠
副主编 赵越 陈静
责任编辑 李海涛
◆人民邮电出版社出版发行 北京市崇文区夕照寺街14号
邮编 100061 电子邮件 315@ptpress.com.cn网址 http:www.ptpress.com.cn
三河市海波印务有限公司印刷
◆开本:787×1092 116
印张:16.75 2013年4月第2版
字数:455千字 2013年4月河北第1次印刷
ISBN 978-7-115-31127-6
定价:35.00元
读者服务热线:(010)67170985 印装质量热线:(010)67129223
反盗版热线:(010)67171154前言
随着各种平板电脑和新兴网站的发展,目前Web开发成为世界上很
流行的职业,Web 网站成为非常赚钱的网站,微软公司推出的
ASP.NET,是很具竞争力的Web 开发技术。因为它提高了界面和代码的
可定制性,封装了复杂的运算和抽象的类,使得网络开发入门人员可以
更轻松地掌握开发技术。
因此,越来越多的高等院校开始在计算机科学与技术、网络工程、软件工程等相关专业开设“Web程序设计”、“网络程序设计”、“ASP.NET
程序设计”等课程。课程的授课内容和授课方式随着技术的发展也在不
断更新和完善,相应的教材也层出不穷。
然而,编者在实际的教学过程中发现,传统的“Web 程序设
计”、“网络程序设计”、“ASP.NET 程序设计”等课程教材在内容组织上
与原有的程序设计类课程教材相类似,主要以一个一个的知识点理论讲
解为主,间或插入一些小的演示性或验证性实例。学生通过这种方式完
成这些课程的学习后,他们会觉得自己学习了大量的语言知识和编程知
识,但是当真正坐在计算机前开始进行网络应用开发时,却往往会感到
无从下手。
为了改变目前Web程序设计类课程的现状,在介绍理论知识的同时
真正培养学生实际的动手开发能力,编者在总结多年教学经验的基础上
精心编写了本书。
全书共12章,分为两部分。第一部分为第1章和第2章,主要介绍了
Web基础知识和 ASP.NET 相关知识,内容讲解符合学生的学习和认知规律,帮助学生为深入学习本课程做好准备。第二部分为第 3章~第 12
章,从网络涉及的实用模块出发,结合流行的技术和组件,详细介绍每
个模块的设计原理及实现过程,进而讲解ASP.NET 4.0 在网络开发中的
应用。在讲解具体知识的时候,本书语言简单易懂,通过告诉读者如何
实现特定功能,进而让读者在实际操作中熟悉软件的开发技术。
与其他相关教材相比,本书具有下列特点。
1.版本最新,与时俱进
采用最新的ASP.NET 4.0技术,使用Visual Studio 2010开发环境,在讲解各个实例的时候,结合了它的新功能。
2.采用最流行的网络应用模块
本书涉及了网站中常见的应用模块,并详细介绍了模块的应用方
向。
3.步骤清晰,说明详细
在具体介绍模块功能的时候,为了让读者从开始就能知道这个模块
的实现方法,本书还提供了详细的图例,说明模块是如何设计、如何实
现以及如何应用到项目中的,并且在图例中稍显复杂的地方提供了详细
的标注,让读者一看就明白整个模块的设计原理和实现手段。
4.讲解通俗,步骤详细
每个实例的制作步骤都以通俗易懂的语言阐述,并穿插讲解有关技
巧性内容,在阅读时就像听课一样详细而贴切。读者只需要按照步骤操
作,就可以轻松地完成一个模块的制作,这样不但掌握了开发的步骤,还掌握了开发的技巧。
本书由陈冠军、马翠翠任主编,赵越、陈静任副主编。
编者
2013年1月第1章 Web基础知识
随着Internet技术的普及,Web应用变得非常广泛。因而,Web开发
现在也成为一个热门行业。学习Web开发首先需要掌握Internet基础、Web结构、HTML等基础知识,本章将依次讲解这些内容。1.1 Internet基础
随着新闻媒体对“信息高速公路”的宣传和介绍的增多,相信大多数
人都曾接触过一些有关Internet的报道,对Internet这一词不会陌生。但
如果要解释清楚它到底是什么,就必须从它的起源和发展说起。
1.1.1 Internet的起源
Internet是在美国较早的军用计算机网ARPAnet的基础上经过不断发
展变化而形成的。Internet的发展主要分为以下几个阶段。
1.Internet的雏形形成阶段
1969年,美国国防部高级研究计划局(Advanced Research Projects
Agency,ARPA)开始建立一个命名为ARPAnet的网络。当时建立这个
网络的目的只是为了将美国的几个军事及研究机构的联系用计算机主机
连接起来。人们普遍认为这就是Internet的雏形。
发展Internet时,沿用了ARPAnet的技术和协议,而且在Internet正式
形成之前,已经建立了以ARPAnet为主的国际网。这种网络之间的连接
模式,也是随后Internet所用的模式。
2.Internet的发展阶段
美国国家科学基金会(NSF)在1985年开始建立NSFNET。NSF规
划建立了15个超级计算中心及国家教育科研网,用于支持科研和教育的
全国性规模的计算机网络NSFNET,并以此作为基础实现同其他网络的
连接。NSFNET 成为 Internet 中主要用于科研和教育的主干部分,代替
了ARPAnet的骨干地位。
1989年,MILNET(由ARPAnet分离出来)实现和NSFNET连接后,就开始采用Internet这个名称。自此以后,其他部门的计算机网相继
并入Internet,ARPAnet就宣告解散。
3.Internet的商业化阶段
20世纪90年代初,商业机构开始进入Internet,这使Internet开始了
商业化的新进程,也成为Internet大发展的强大推动力。1995年,NSFNET停止运作,Internet已彻底商业化了。
这种把不同网络连接在一起的技术的出现,使计算机网络的发展进
入一个新的时期,形成由网络实体相互连接而构成的超级计算机网络,人们把这种网络形态称为Internet(因特网)。
1.1.2 现在Internet的发展
随着大量商业公司网络进入Internet,网上商业应用取得高速的发
展,同时也使Internet能为用户提供更多的服务,使Internet迅速普及和
发展起来。
现在 Internet 已发展得更为多元化,不仅仅单纯为科研服务,正逐
步进入人们日常生活的各个领域。近几年来,Internet在规模和结构上都
有了很大的发展,已经发展成为一个名副其实的“全球网”。
网络的出现,改变了人们使用计算机的方式,而 Internet 的出现,又改变了人们使用网络的方式。Internet使计算机用户不再被局限于分散
的计算机上,同时,也使他们脱离了特定网络的约束。任何人只要进入
了Internet,就可以利用网络中和各种计算机上的丰富资源。1.2 Web结构
Web 结构也称为浏览器服务器(BS)结构,使用超文本传输协议
(Hypertext Transport Procotocol,HTTP)传输数据,相比较客户端服
务器(CS)结构有很多不同。本节将详细剖析一下Web应用程序的内
部结构。
1.2.1 HTTP简介
在我们访问网站的时候,通常都会在浏览器的地址栏里输入网站地
址,这个地址就是 URL (Uniform Resource Locator,统一资源定位系
统)。当确定要访问这个网址的时候,浏览器就会通过HTTP从Web服
务器上获取提取的网页代码,最终翻译成用户易读的页面文字、图片和
多媒体等信息。
例如,Microsoft官方的网址为http:www.Microsoft.com,其各个组
成部分的含义如下。
http::代表超文本传输协议,通知Microsoft.com服务器显示Web
页,通常不用输入。
www:代表一个Web(万维网)服务器。
Microsoft.com:这是装有网页的服务器的域名或站点服务器的名
称。
Internet的基本协议是TCPIP,然而在TCPIP模型最上层的是应用层
(Application Layer),它包含所有高层的协议。高层协议有文件传输
协议(FTP)、电子邮件传输协议(SMTP)、域名系统服务
(DNS)、网络新闻传输协议(NNTP)和超文本传输协议(HTTP)等。
HTTP是用于从WWW服务器传输超文本到本地浏览器的传输协
议。它可以使浏览器更加高效,使网络传输减少。它不仅保证计算机正
确快速地传输超文本文档,还确定传输文档中的哪一部分,以及哪部分
内容首先显示(如文本先于图形)等。这就是在浏览器中看到的网页地
址都是以“http:”开头的原因。
1.2.2 BS结构简介
BS结构(BrowserServer结构)即浏览器服务器结构。它是随着
Internet技术的兴起对CS结构的一种变化或者改进的结构。在这种结构
下,用户工作界面通过WWW浏览器来实现,极少部分事务逻辑在前端
(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成
所谓三层结构。这样就大大简化了客户端计算机载荷,减轻了系统维护
与升级的成本和工作量,降低了用户的总体成本。
以目前的技术看,局域网建立BS结构的网络应用,并通过
InternetIntranet模式下数据库应用,相对来说易于把握,成本也是较低
的。它是一次性到位的开发,能实现不同的人员,从不同的地点,以不
同的接入方式(如LAN、WAN、InternetIntranet等)访问和操作共同的
数据库;它能有效地保护数据平台和管理访问权限,服务器数据库也很
安全。
BS 结构最大的优点就是可以在任何地方进行操作而不用安装任何
专门的软件。只要有一台能上网的计算机就能使用,客户端零维护。系
统的扩展非常容易,只要能上网,再由系统管理员分配一个用户名和密
码,就可以使用了。它甚至可以在线申请,通过公司内部的安全认证
(如CA证书)后,不需要人的参与,系统可以自动分配给用户一个账
号进入系统。1.2.3 CS结构简介
CS结构(ClientServer结构)即客户服务器结构。其中,服务器通
常采用高性能的PC、工作站或小型机,并采用大型数据库系统(如
Oracle、Sybase、Informix或SQL Server),客户端需要安装专用的客户
端软件。
CS结构的优点是能充分发挥客户端PC的处理能力,很多工作可以
在客户端处理后再提交给服务器。对应的优点就是客户端响应速度快,其缺点主要有以下几个。
(1)只适用于局域网。随着互联网的飞速发展,移动办公和分布
式办公越来越普及,这需要我们的系统具有扩展性。这种远程访问方式
需要专门的技术,同时要对系统进行专门的设计来处理分布式的数据。
(2)客户端需要安装专用的客户端软件。首先是涉及安装的工作
量,其次是任何一台计算机出问题(如病毒、硬件损坏)都需要进行安
装或维护。特别是有很多分部或专卖店的情况,不是工作量的问题,而
是路程的问题。还有系统软件升级时,每一台客户机需要重新安装,其
维护和升级成本非常高。
(3)对客户端的操作系统一般也会有限制。可能适应于 Windows
XP,但不能用于 Windows 8Vista,或者不适用于Microsoft公司新的操
作系统等,更不用说Linux、UNIX等。
1.2.4 BS结构与CS结构比较
BS结构与CS结构可以从以下几方面进行比较。
1.数据安全性比较
由于CS结构软件的数据分布特性,客户端所发生的火灾、盗抢、地震、病毒、黑客等都成了可怕的数据杀手。另外,对于集团级的异地软件应用,CS结构的软件必须在各地安装多个服务器,并在多个服务
器之间进行数据同步。如此一来,每个数据点上的数据安全都影响了整
个应用的数据安全。所以,对于集团级的大型应用来讲,CS结构软件
的安全性是令人无法接受的。对于 BS 结构的软件来讲,由于其数据集
中存放于总部的数据库服务器,客户端不保存任何业务数据和数据库连
接信息,也无须进行数据同步,所以这些安全问题也就自然不存在了。
2.数据一致性比较
在CS结构软件的解决方案里,对于异地经营的大型集团都采用各
地安装区域级服务器,然后再进行数据同步的模式。每天必须在这些服
务器同步完毕之后,总部才可得到最终的数据。由于局部网络故障造成
个别数据库不能同步不说,即使同步上来,各服务器也不是一个时点上
的数据,数据永远无法一致,不能用于决策。对于BS结构的软件来
讲,其数据是集中存放的,客户端发生的每一笔业务单据都直接进入中
央数据库,不存在数据一致性的问题。
3.数据实时性比较
在集团级应用里,CS结构不可能随时随地看到当前业务的发生情
况,看到的都是事后数据;而BS结构则不同,它可以实时看到当前发
生的所有业务,方便了快速决策,有效地避免了企业损失。
4.数据溯源性比较
由于 BS 结构的数据是集中存放的,所以总公司可以直接追溯到各
级分支机构(分公司、门店)的原始业务单据,也就是说看到的结果可
溯源。大部分 CS 结构的软件则不同,为了减少数据通信量,仅仅上传
中间报表数据,在总部不可能查到各分支机构(分公司、门店)的原始
单据。
5.服务响应及时性比较
企业的业务流程、业务模式不是一成不变的,随着企业不断发展,必然会不断调整。软件供应商提供的软件也不是完美无缺的,所以,对已经部署的软件产品进行维护、升级是正常的。CS结构软件由于其应
用是分布的,需要对每一个使用结点进行程序安装,所以即使非常小的
程序缺陷都需要很长的重新部署时间。重新部署时,为了保证各程序版
本的一致性,必须暂停一切业务进行更新(即“休克更新”),其服务响
应时间基本不可忍受。而BS结构的软件不同,其应用都集中于总部服
务器上,各应用结点并没有任何程序,一个地方更新则全部应用程序更
新,可以做到快速服务响应。
6.网络应用限制比较
CS结构软件仅适用于局域网内部用户或宽带用户(1Mbits以
上)。而BS结构软件可以适用于任何网络结构(包括33.6kbits拨号入
网方式),特别适于宽带不能到达的地方。
1.2.5 Web系统的三层结构
BS 系统常常采用如图 1-1 所示的多层结构,这种多层结构在层与
层之间相互独立,任何一层的改变不会影响其他层的功能。在多层结构
中,具有如下基本的三层结构。图1-1 Web系统的多层结构图
(1)数据访问层:实现对数据的访问功能,如增加、删除、修
改、查询数据。
(2)业务逻辑层:实现业务的具体逻辑功能,如学生入学、退
学、成绩管理等。
(3)页面显示层:将业务功能在浏览器上显示出来,如分页显示
学生信息等。
除此之外,还可能具有其他的层次。特别是在业务逻辑层,常常需
要根据实际情况增加层次,但总的原则是:每一层次都完成相对独立的
系统功能。在开发过程中,需要在逻辑上清晰这三层分别实现的功能,并以此
设计整个系统的实现以及管理整个系统的代码文件。不能把处于不同层
次的文件混在一起,否则会造成系统逻辑上的混乱,使庞大的系统难于
管理和维护,容易导致系统的失败。
另外,在这三层基础之下,还有更为基础的工作,即数据库的设计
模型。数据库的设计模型是整个系统的基础,一旦确定了数据库的结
构,在开发过程中就不要轻易改变,否则会对后面的工作造成巨大的负
担。1.3 网页构成技术——HTML
1.3.1 HTML概述
超文本标记语言(Hyper Text Markup Language,HTML)是为网页
创建和其他可在网页浏览器中看到的信息设计的一种标记语言。HTML
被用来结构化信息,如标题、段落、列表等,也可用来在一定程度上描
述文档的外观和语义。由蒂姆·伯纳斯·李给出原始定义,由 IETF 用简
化的SGML(标准通用标记语言)语法进行进一步发展的HTML后来成
为国际标准,由万维网联盟(W3C)维护。
包含HTML内容的文件最常用的扩展名是.html,但是像DOS这样的
旧操作系统限制扩展名为最多3个字符,所以.htm扩展名也被使用。虽
然现在使用得比较少一些了,但是.htm扩展名仍旧普遍被支持。编者可
以用任何文本编辑器或所见即所得的HTML编辑器来编辑HTML文件。
早期的HTML语法被定义成较松散的规则,以有助于不熟悉网络出
版的人采用。网页浏览器接受了这个现实,并且可以显示语法不严格的
网页。随着时间的流逝,官方标准渐渐趋于严格的语法,但是浏览器继
续显示一些远称不上合乎标准的HTML。使用XML的严格规则的
XHTML (可扩展超文本标记语言)是W3C计划中的HTML的接替者。
虽然很多人认为它已经成为当前的HTML 标准,但是它实际上是一个独
立的和 HTML 平行发展的标准。W3C 目前的建议是使用XHTML 1.1、XHTML 1.0或者HTML 4.01进行网络出版。
1.3.2 HTML文件结构
一个HTML文档由一系列的元素和标签组成。元素名不区分大小写。HTML用标签来规定元素的属性和它在文件中的位置。HTML超文
本文档分为文档头和文档体两部分,在文档头里对这个文档进行了一些
必要的定义,文档体中才是要显示的各种文档信息。
下面是一个最基本的HTML文档的代码:
这是标题
这是主体内容
在文档的最外层,文档中的所有文本和 html 标
签都包含在其中,它表示该文档是以HTML编写的。
是HTML文档的头部标签,在浏览器窗口中,头
部信息是不被显示在正文中的。在此标签中可以插入其他标记,用以说
明文件的标题和整个文件的一些公共属性。是嵌套在头部标签中的,标签之间的文
本是文档标题,它被显示在浏览器窗口的标题栏。
标记一般不省略,标签之间的文本是正文,是在浏览器窗口中要显示的页面内容。
以上的元素是HTML文件结构中必须具备的,剩下的则可有可无。
常见的HTML元素及其描述说明如表1-1所示。
表1-1 常用的HTML元素及其描述小结
本章从整体上介绍了Web开发的基础知识,包括了Internet基础、Web结构概述和HTML基础知识。其中,读者需要重点理解 BS 结构的
原理以及 HTML 的文件结构,并可以熟练地读写HTML代码,这些都是
Web开发中最基本的知识。习题
1.BS结构即______和______结构。
2.在多层体系结构中,基本的三层结构是______、______和
______。
3.BS结构最大的优点是什么?CS结构的缺点是什么?
4.使用HTML代码,编写一个HTML文档,使之在页面中输出一
个“Hello World”字符串。上机指导
HTML是为网页创建和其他可在网页浏览器中看到的信息设计的一
种置标语言。一个HTML文档是由一系列的元素和标签组成的。本次上
机实验主要内容就是对HTML文档的进一步熟悉。
实验:输出一个字符串
实验目的
巩固知识点——HTML文件结构。HTML用标签来规定元素的属性
和它在文件中的位置。
实现思路
在1.3.2小节中讲述了如何创建一个最基本的HTML文档页面。在
HTML代码中,使用多个标签规定节显示位置,如“
”、“”等。
少量改动该例子,在页面的中心,输出一个颜色为浅蓝色,字号为
14的字符串“Hello World”,其运行结果如图1-2所示。图1-2 输出一个简单的字符串第2章 ASP.NET概述
.NET是Microsoft公司提出的新一代程序开发框架,而ASP.NET属
于.NET框架中的一部分,可以使用多种语言开发,主要用于创建Web应
用程序、网站及Web服务。本章将讲解ASP.NET中的各种基础知识。2.1 .NET开发
ASP.NET技术属于.NET框架的组成部分之一。在学习ASP.NET之
前,应该先了解一下.NET框架以及.NET框架和ASP.NET之间的关系。
2.1.1 .NET框架简介
互联网的出现已经彻底改变了人类的生活方式。从静态页面到能够
与用户交互的动态页面,互联网已经能够实现很强大的功能。Web应用
系统能够根据用户的要求,动态处理数据,向用户提供个性化的服务。
但是,现在的浏览器页面各自独立,互不相干。在互联网中,信息
被存储在 Web 服务器内,用户的所有操作都依靠它。这样无法让不同
的网页互相合作,传递有意义的信息,提供更深层次的服务。
于是,Microsoft 公司梦想把整个互联网变成一个操作系统,用户在
互联网上开发应用程序,使用互联网上的所有应用,就好像在自己办公
室里的PC上一样,感觉不到互联网的存在。Microsoft公司希望“Code
Once,Run Anywhere”,即写好一个程序,然后能够将其用之于四海,这就是.NET 的目标。整体上,.NET Framework框架如图2-1所示。图2-1 .NET Framework框架
在图2-1中,.NET Framework主要分为4部分:通用语言开发环
境、.NET基础类库、.NET开发语言和Visual Studio.NET集成开发环境。
1.通用语言开发环境
开发程序时,如果使用符合通用语言规范(Common Language
Specification)的开发语言,那么所开发的程序将可以在任何有通用语
言开发环境(Common Language Runtime)的操作系统下执行,包括
Windows 7、Windows CE、Windows NTXP等。
2..NET基础类库
简单来说,.NET基础类库(Basic Class Library)是一套函数库,以
结构严密的树状层次组织,并由命名空间(Namespace)和类(Class)
组成,功能强大,使用简单,并具有高度的可扩展性。
3..NET开发语言.NET是多语言开发平台,所谓的.NET开发语言指的是符合通用语
言规范(Common Language Specification)的程序语言。目前,Microsoft 公司提供 Visual Basic.NET、C、C++以及 Java Script.NET,其他厂商提供了很多对.NET的语言支持,包括APL、COBOL、Pascal、Eiffel、Haskell、ML、Oberon、Perl、Python、Scheme、Smalltalk等。
4.Visual Studio.NET 集成开发环境
.NET集成开发环境Visual Studio.NET是开发.NET应用的利器,它秉
承了Microsoft IDE一贯的易用性,功能非常强大。
2.1.2 ASP.NET与.NET框架的关系
ASP.NET是.NET框架中的一个应用模型,运行于具有.NET框架环
境的服务器中。ASP.NET可以使用多种语言编写,然后被编译成字节码
文件,运行于.NET框架中。
2.1.3 ASP、ASP.NET、PHP、JSP比较
目前在Web 开发中,除了ASP.NET 技术外,常用的技术还有
ASP(Active Server Pages)、PHP(Hypertext Preprocessor)和
JSP(Java Server Pages)。
1.ASP
ASP是一个Web服务器端的开发环境。开发人员利用它开发动态
的、交互的和高性能的Web服务应用程序。ASP采用脚本语言VB
Script(Java Script)作为自己的开发语言。
2.PHP
PHP是一种跨平台的服务器端的嵌入式脚本语言。它大量地借用
C、Java和Perl语言的语法,并结合PHP自己的特性,使Web开发者能够
快速地写出动态生成页面。PHP支持目前绝大多数数据库,并且它是完全免费与开源的。
3.JSP
JSP是Sun公司推出的新一代站点开发语言,它完全解决了目前
ASP、PHP的一个通病——脚本级执行。JSP可以在Servlet和JavaBean的
支持下,完成功能强大的站点程序。
ASP、ASP.NET、PHP、JSP 都提供在 HTML 代码中混合某种程序
代码,由语言引擎解释执行程序代码的能力。但JSP代码被编译成
Servlet并由Java虚拟机解释执行。这种编译操作仅在对JSP页面的第一次
请求时发生。
在 ASP、ASP.NET、PHP、JSP 环境下,HTML 代码主要负责描述
信息的显示样式,而程序代码则用来描述处理逻辑。普通的HTML页面
只依赖于Web服务器,而ASP、ASP.NET、PHP、JSP页面需要附加的语
言引擎分析和执行程序代码。程序代码的执行结果被重新嵌入到HTML
代码中,然后一起发送给浏览器。ASP、ASP.NET、PHP、JSP 都是面
向 Web 服务器的技术,客户端浏览器不需要任何附加的软件支持。2.2 开发工具Visual Studio 2010概述
Visual Studio 2010是Microsoft公司发布的一个集成开发工具,主要
用来开发.NET平台的各种应用。本节将详细讲述Visual Studio 2010的安
装配置。
2.2.1 Visual Studio 2010简介
Visual Studio 2010是一套完整的开发工具集,用于生成ASP.NET
Web应用程序、XML Web Services、桌面应用程序和移动应用程序。
Visual Basic、Visual C++、Visual C和Visual J全都使用相同的集成开
发环境(IDE),利用此IDE可以共享工具且有助于创建混合语言解决
方案。另外,这些语言利用了.NET Framework的功能,通过此框架可使
用简化ASPWeb应用程序和XML Web Services开发的关键技术。
2.2.2 使用Visual Studio 2010
安装完Visual Studio 2010后,可以在“开始”菜单中找到其快捷方
式。单击Visual Studio 2010的快捷方式,打开Visual Studio 2010的开发
界面,如图2-2所示。图中中间的主体部分是代码编辑器,同时还可以
切换到设计视图;左侧是“工具箱”面板,其中列出了常用的控件,可以
直接拖曳到主界面中使用;右上方是“解决方案资源管理器”面板,显示
的是当前活动的解决方案以及下面的工程文件。图2-2 Visual Studio 2010开发界面
在“解决方案资源管理器”面板的下面是“属性”面板,在这里可以更
改选中控件的属性值。
单击菜单“工具”|“选项”命令,出现“选项”对话框,如图2-3所示。在
对话框中,可以对诸多编辑器的属性进行编辑,如环境、项目和解决方
案、源代码管理、文本编辑器、调试、数据库工具等。图2-3 “选项”对话框
2.2.3 配置IIS
如果是开发简单的ASP.NET程序,用Visual Studio 2010已经足够。
如果开发HTTP程序,则需要先配置好Windows系统中的IIS服务器(设
置好虚拟目录)。Windows系统默认没有安装Internet信息服务(IIS),其组件包含在系统光盘中。其安装步骤如下。
(1)将Windows系统光盘插入到光驱中。
(2)单击“开始”|“控制面板”|“程序和功能”|“打开或关闭Windows功
能”命令,弹出“Windows功能”对话框,如图2-4所示。勾选“Internet信息
服务”选项,单击“确定”按钮。
完成安装之后,系统会创建一个默认的站点。打开浏览器,在地址
栏中输入“http:localhost”,会打开一个“IIS 7文档”,如图2-5所示。
我们还可以自己创建一个虚拟目录,其创建步骤如下。
(1)在硬盘中的某个路径下创建一个目录,如“Z:\TestWeb\”,可
以在此目录下编写网站的代码文件。图2-4 Windows组件图2-5 Microsoft Internet信息服务7文档
(2)右键单击“我的计算机”图标,在上下文菜单中选择“管理”命
令,以此展开左边树结构的结点“服务和应用程序”|“Internet信息服务
(IIS)管理器”。或者单击“控制面板”|“管理工具”|“Internet信息服务”命
令,进入IIS管理页面,如图2-6所示。图2-6 IIS管理页面
(3)右键单击“Default Web Site”,在上下文菜单中选择“添加虚拟
目录”命令,出现“添加虚拟目录”对话框,如图2-7所示。
(4)在“别名”文本框中输入要创建的虚拟目录的名字,如“TestWeb”。单击“…”按钮,选择刚才创建的目录“Z:\TestWeb\”。这
时,虚拟目录的实际路径已经指向了“Z:\TestWeb\”,如图2-8所示。
(5)单击“确定”按钮,完成虚拟目录的创建。图2-7 添加虚拟目录
图2-8 虚拟目录别名和路径
创建完虚拟目录之后,需要测试一下刚才创建的是否有效。测试的
方法就是通过浏览器试图访问一个目录下的静态页面,具体步骤如下。(1)在目录“Z:\TestWeb\”下创建一个静态页面文件test.htm。代码
如下:
测试页面
这是一个测试IIS服务器的页面。
(2)打开浏览器,在地址栏中输入地
址“http:localhostTestWebtest.htm”。访问结果如图2-9所示。
图2-9 测试虚拟目录页面2.3 第一个ASP.NET程序
本节将通过一个简单的ASP.NET程序使读者能够了解如何使用控件
创建一个ASP.NET程序。
2.3.1 搭建Web项目
创建Web项目或者网站通常有两种方式:HTTP和文件系统。使用
HTTP方式创建网站需要安装IIS服务;使用文件系统创建网站不必安装
IIS服务,因为Visual Studio.NET 2010本身自带了一个可以运行ASP.NET
程序的服务,当程序执行或者调试的时候,这个服务就会自动启动。
1.使用HTTP方式创建Web网站
使用HTTP方式创建Web网站的具体步骤如下。
(1)进入 IIS 服务管理页面,添加一个虚拟目录,命名
为“TestWeb”(如果前面已经存在此虚拟目录,这里无须重复添加)。
(2)启动Visual Studio.NET 2010。
(3)单击主窗口上的“文件”|“新建”|“网站”菜单,弹出“新建网
站”对话框。
(4)选择“ASP.NET 空网站”项,在下侧“Web 位置”下拉框中选
择“HTTP”,然后输入“http:localhostTestHelloWorld_ASPNET”,如图
2-10所示。图2-10 使用HTTP方式创建网站
(5)单击“确定”按钮,等待Visual Studio.NET创建新的工程成功。
2.使用文件系统的方式创建Web网站
使用文件系统方式创建Web网站的具体步骤如下。
(1)启动Visual Studio.NET 2010。
(2)单击主窗口上的“文件”|“新建”|“网站”菜单,弹出“新建网
站”对话框。
(3)选择“ASP.NET 空网站”项,在下侧“Web 位置”下拉框中选
择“文件系统”,然后输入“Z:\TestWeb\HelloWorld_ASPNET”,如图2-11
所示。
(4)单击“确定”按钮,等待Visual Studio.NET创建新的工程成功。图2-11 使用文件系统方式创建网站
2.3.2 添加代码
创建完网站之后就可以开始添加代码,其具体步骤如下。
(1)查看IDE中的“解决方案资源管理器”面板,如图2-12所示。右
键单击项目名称,选择“添加新项”命令,在打开的对话框中选择“Web
窗体”,将其改名为“HelloWorld.aspx”。
(2)查看主窗口,此时自动生成一个aspx页面,单击页面左下方
的“源”标签,然后将代码:
改为以下代码: Hello World,ASPNET.
(3)在页面显示时,页面的标题将为“Hello World,ASPNET.”。
(4)单击页面左下方的“设计”标签,然后单击主窗口左侧的“工具
箱”隐藏面板,默认出现标准Web控件。双击“Label”控件,修改其属性。
ID:lblDisplay。
Text:空。
BackColor:Silver。
同样,双击“Button”控件,并修改其属性。
ID:btnShow。
Text:显示。
最后效果如图2-13所示。
图2-12 “解决方案资源管理器”面板
图2-13 添加Label和Button控件后的aspx页面(5)双击“显示”按钮,进入代码窗口(通过主窗口上侧的标签可
以在代码窗口和窗体窗口间进行切换),可以看到Visual Studio.NET已
经自动生成了很多代码。进入代码窗口后光标自动位于方
法“btnShow_Click( )”内部(即单击“显示”按钮会触发这个方法),在光
标处添加如下代码:
this.lblDisplay.Text=Hello World, ASP.NET.;
2.3.3 分析代码
在ASP.NET应用程序中,默认情况下,HTML页面和C代码是被分
开保存于两个文件中的。HTML页面存放在扩展名是.aspx的文件中,C
代码存放在扩展名是.cs的文件中。所以,在新建一个Web页面后,会自
动生成两个文件。
在HelloWorld.aspx文件中,最上面的代码如下:
<%@ Page Language=C AutoEventWireup=true
CodeFile=HelloWorld.aspx.cs
Inherits= HelloWorld %>
代码的说明如下。
Language:后台代码所使用的语言,这里使用的是C。
AutoEventWireup:是否自动启用页面事件,默认是启用。
CodeFile:与此HTML页面关联的后台代码页面的文件名。
Inherits:后台代码的类名,这里是HelloWorld。
在后台的 HelloWorld.aspx.cs 文件中,自动生成的代码大体有两部
分。一个是最上面的使用using关键字的如下几行代码:
using System;
using System.Collections.Generic;
using System.Linq;using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;;
这些代码引用了相应的命名空间,其实有些可以不用,这些等读者
有一定的基础后再学习。
另一个自动生成的代码就是方法Page_Load( )。这个方法是页面被
加载的时候调用的,可以说是页面执行的入口。
2.3.4 测试代码
完成添加代码后,就要运行并测试代码的准确性。测试代码的具体
步骤如下。
(1)在“资源管理器”中,右键单击“HelloWorld.aspx”文件,在快捷
菜单中单击“设为起始页”命令。
(2)使用快捷键Ctrl+F5启动程序后,结果如图2-14所示,单击“显
示”按钮,在标签中就会出现结果。
图2-14 HelloWorld_ASPNET运行结果
(3)查看在目录“E:\TestWeb\HelloWorld_ASPNET”下的工程文件,将会发现工程文件夹“HelloWorld_ASPNET”。其中,.aspx:页面文件;
.cs:代码文件。
至此,第一个ASP.NET应用就完成了。小结
本章全面详细地介绍了 ASP.NET 以及它和.NET 框架的关系,还讲
解了开发工具 Visual Studio 2010 的配置。最后,通过创建一个简单的
ASP.NET 应用程序,使读者更快速地掌握如何使用开发工具创建
ASP.NET Web应用程序。习题
1..NET Framework主要分为4个部分:______、______、______和
______。
2.下面描述不正确的是______。
A..NET是多语言开发平台
B..NET类库由命名空间和类组成
C.在Windows系统中必须安装.net framework才可以运行ASP.NET应
用程序
D.ASP.NET目前只能运行在Windows操作系统中
3.列举最常用的4种动态网页语言。
4.使用Visual Studio.NET 2010创建一个简单的Web网站。上机指导
ASP.NET是包含在.NET框架中的一项技术,主要用于构建Web应用
程序和以XML为基础的Web服务。
实验一:输出一个字符串
实验目的
巩固知识点——标签控件。标签控件用于显示文本。
实现思路
在 2.4 节中讲述了如何构建一个简单的 ASP.NET 应用程序。在本
例中,使用了两个控件:一个是标签控件,用于显示文本;另一个是按
钮控件,用于响应单击事件。当用户单击按钮的时候,就会响应按钮的
单击事件,输出一个字符串。
少量改动该例子,就可以输出一个自定义的字符串,改动后的运行
结果如图2-15所示。
图2-15 输出一个简单的字符串实验二:交互式输出字符串
实验目的
巩固知识点——文本框控件。文本框控件用于输入文本。
实现思路
本实验在实验一的基础上,增加了一个文本框控件。当用户单击事
件的时候,在标签中显示用户在文本框控件中输入的内容。其具体的实
现步骤如下。
(1)创建一个ASP.NET网站。
(2)切换到“设计”视图,从工具箱面板的“标准”组中,分别拖放 3
个控件到页面中,3个控件是:TextBox控件、Label控件、Button控件。
(3)双击按钮控件,自动生成单击事件的代码。在后台页面中生
成的单击事件的代码如下:
protected void Button1_Click(object sender, EventArgs e)
{
}
(4)在单击事件的方法中,添加代码,使标签控件显示用户在文
本框中输入的内容。代码如下:
protected void Button1_Click(object sender, EventArgs e)
{
Label1.Text = TextBox1.Text;
}
(5)按 Ctrl+F5 快捷键运行代码,运行结果如图 2-16所示。图2-16 交互式输出字符串运行结果第3章 ASP.NET常用控件
本章重点介绍ASP.NET中一些常用的服务器控件,如文本控件、按
钮控件、单选按钮、复选按钮等。本章的后续部分结合具体实例,主要
讲解用户登录系列控件的使用。登录验证模块的流程如图3-1所示。
图3-1 登录验证模块流程图3.1 开发站点前的配置
在ASP.NET中新增加了一个工具:站点安全配置。通过此工具可以
配置站点的一些公共属性,如验证类型等。本节将详细介绍此工具的使
用,开发站点前的部署流程如图3-2所示。
图3-2 开发站点前的部署流程图
3.1.1 创建Web站点
在Visual Studio 2010中,项目不再以Windows应用和Web应用来称
呼,而是被称为“项目”和“网站”。现在重点介绍如何创建一个网站,具
体步骤如下。
(1)打开Visual Studio 2010,单击“文件”|“新建”|“网站”命令,打
开Visual Studio 2010的“新建网站”对话框,如图3-3所示。它主要分为模
板区和配置区。图3-3 Visual Studio 2010的“新建网站”对话框
(2)在配置区内可以为网站命名,本例将网站命名
为“UserLogin”。
(3)单击“确定”按钮,打开空网站的默认工作界面,因为默认情
况下只有一个 web.config配置文件,为了操作方便,我们每次都要先添
加一个Default.aspx页面,如图3-4所示。图3-4 网站的默认工作界面
生成页面“Default.aspx”的同时,还会有一个代码文
件“Default.aspx.cs”,这两个文件的地址在同一个目录下。至此就完成了
一个简单网站的创建。
3.1.2 ASP.NET配置文件
ASP.NET配置数据存储在XML文本文件中,每一个XML文本文件
都命名为web.config。
新建一个Web站点或者项目后,默认情况下会在根目录自动创建一
个web.config文件,包括默认的配置设置,所有的子目录都继承它的配
置设置。如果要修改子目录的配置设置,可以在该子目录下新建一个
web.config文件。它可以提供除了从父目录继承的配置信息以外的配置
信息,也可以重写或修改父目录中定义的设置。
所有的ASP.NET配置信息都驻留在web.config文件中的configuration
元素中。3.1.3 使用站点安全工具配置身份验证模式
站点安全配置工具主要用于管理站点的安全,其功能主要有配置身
份验证模式和设置数据库引擎等。身份验证模式主要是让系统了解该从
哪里加载用户数据。ASP.NET主要提供两种验证模式:Windows验证和
Forms验证。配置步骤如下。
(1)打开上节创建的网站“UserLogin”。
(2)单击“网站”|“ASP.NET 配置”命令,打开“ASP.NET Web 应用
程序管理”窗口,如图3-5所示。
图3-5 “ASP.NET Web应用程序管理”窗口
(3)单击“安全”链接,打开应用程序的安全设置界面,如图3-6所
示。此界面主要有5个主要功能:选择身份验证类型、依据向导配置安
全性、用户管理、角色管理和访问规则管理。图3-6 配置工具中安全设置界面
(4)单击“选择身份验证类型”链接,打开验证类型界面,如图3-7
所示。根据两个验证类型的介绍可以看出,通常在局域网的应用中使
用“Windows”验证,登录用户多为机器中的用户组。在Internet中使
用“Forms”验证,登录用户为存储在数据库中的用户信息。本例以网站
应用为目的,所以选择“通过Internet”选项。图3-7 身份验证界面
(5)单击“完成”按钮,系统返回安全设置界面,关闭整个工具窗
口。
(6)此时并没有生成配置文件“web.config”。为了能让系统自动生
成配置文件并进行合理配置,按F5键运行程序,系统弹出一个对话框,如图3-8所示。图3-8 “未启用调试”提示对话框
(7)选择第一项,单击“确定”按钮,系统自动在“解决方案资源管
理器”中生成一个“web.config”配置文件。
(8)关闭运行的页面,回到Visual Studio 2010工作界面,打开根
目录下的“web.config”文件,会发现里面只有一个配置,就是身份验证
的类型,具体代码如下:
3.1.4 配置站点的数据存储方式
上一小节中使用了身份验证模式来确定用户数据的来源,本小节通
过配置数据存储方式来确定用户信息如何保存,配置步骤如下。
(1)在Visual Studio 2010的工作界面中,单击“网站”|“ASP.NET配
置”命令,打开“ASP.NET Web应用程序管理”窗口。
(2)单击“提供程序”链接,转到提供程序界面,如图3-9所示。
(3)默认的提供程序是“AspNetSqlProvider”,此提供程序将数据
保存在 ASP.NET 自带的数据库中,数据库名为“ASPNETDB”。所有的
用户信息、个性化信息和基本配置等都保存在此数据库中。
图3-9 提供程序配置界面3.1.5 定制自己的数据存储方式
默认情况下,.NET提供了默认数据库的SQL提供程序,开发人员也
可以根据站点的需要,用自己的数据库保存配置信息。具体操作步骤如
下。
(1)首先在SQL Server 2008下创建一个自己的数据库,命名
为“TestProvider”。
(2)数据库中没有任何表,ASP.NET包括一个名为
aspnet_regsql.exe 的命令行实用工具,可以提供向导的方式自定义数据
保存地址。
(3)单击 Windows 系统的“开始”|“所有程序”|“Visual Studio
2010”|“Visual Studio Tools”|“Visual Studio 2010命令提示”命令。
( 4 )在打开的 DOS 窗口中输入“aspnet_regsql.exe”,用来配置自
己的数据库。此时系统打开一个向导窗口,如图3-10所示。图3-10 “ASP.NET安装SQL Server安装向导”窗口
(5)单击“下一步”按钮,打开选择安装选项界面,如图3-11所
示。图3-11 选择安装选项界面
(6)选择第一项“为应用程序服务配置SQL Server”,单击“下一
步”按钮,打开选择服务器和数据库界面,如图3-12所示。图3-12 选择服务器和数据库界面
(7)在“服务器”文本框中输入自己机器的注册实例名,数据库选
择自己创建的“TestProvider”。单击“下一步”按钮,出现确认界面,如图
3-13所示。图3-13 确认界面
(8)单击“下一步”按钮,出现完成界面,如图3-14所示。图3-14 完成界面
(9)单击“完成”按钮,返回到SQL Server数据库中。打
开“TestProvider”数据库中的表,会发现所有的表全都是以“aspnet_”开头
的,这些表用来存储用户的一些个性信息。
(10)创建完成后还需要修改配置文件web.config,让系统知道数
据库的提供者发生了变化。在“configuration”节点下添加代码如下:
connectionString=Data Source=localhost;
Initial Catalog=TestProvider;Integrated Security=True
providerName=System.Data.SqlClient>
这样就可以使用自己的数据库来保存站点内所有的数据资料了,无
论是使用系统工具创建用户还是角色,都会保存在自己的数据库中。3.2 ASP.NET控件概述
之所以现在ASP.NET的开发方便和快捷,关键是它有一组强大的控
件库,包括HTML控件、HTML服务器控件、Web服务器控件、Web用
户控件、Web自定义控件等。
3.2.1 HTML控件
HTML 控件就是我们通常的说的 HTML 语言,它不能在服务器端
控制,只能在客户端通过JavaScript和VBScript等程序语言来控制。
下面的示例代码就是一个HTML的按钮控件,代码如下:
< input type=button id=btn value=button>
下面使用HTML客户端控件创建一个简单的示例,该示例使用
HTML的按钮控件。当单击按钮的时候,会弹出一个提示框。具体步骤
如下。
(1)打开Visual Studio 2010集成开发环境,单击“新建”|“网站”命
令,弹出“新建网站”对话框,如图3-15所示。
(2)在“Web位置”选项中,选择“文件系统”和网站创建的本地系统
目录“Z:\TestWeb\WebSite2”。图3-15 “新建网站”对话框
(3)单击“确定”按钮,进入编写代码的主窗口,同时添加一个
Default.aspx 页面文件,并自动生成Default.aspx.cs后台代码文件。在
Default.aspx文件中,自动生成了一个页面框架代码,其代码如下:
<%@ Page Language=C AutoEventWireup=true
CodeFile=Default.aspx.cs
Inherits=_Default %>
TransitionalEN
http:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd>
这是主体内容
在文档的最外层,文档中的所有文本和 html 标
签都包含在其中,它表示该文档是以HTML编写的。
是HTML文档的头部标签,在浏览器窗口中,头
部信息是不被显示在正文中的。在此标签中可以插入其他标记,用以说
明文件的标题和整个文件的一些公共属性。
本是文档标题,它被显示在浏览器窗口的标题栏。
以上的元素是HTML文件结构中必须具备的,剩下的则可有可无。
常见的HTML元素及其描述说明如表1-1所示。
表1-1 常用的HTML元素及其描述小结
本章从整体上介绍了Web开发的基础知识,包括了Internet基础、Web结构概述和HTML基础知识。其中,读者需要重点理解 BS 结构的
原理以及 HTML 的文件结构,并可以熟练地读写HTML代码,这些都是
Web开发中最基本的知识。习题
1.BS结构即______和______结构。
2.在多层体系结构中,基本的三层结构是______、______和
______。
3.BS结构最大的优点是什么?CS结构的缺点是什么?
4.使用HTML代码,编写一个HTML文档,使之在页面中输出一
个“Hello World”字符串。上机指导
HTML是为网页创建和其他可在网页浏览器中看到的信息设计的一
种置标语言。一个HTML文档是由一系列的元素和标签组成的。本次上
机实验主要内容就是对HTML文档的进一步熟悉。
实验:输出一个字符串
实验目的
巩固知识点——HTML文件结构。HTML用标签来规定元素的属性
和它在文件中的位置。
实现思路
在1.3.2小节中讲述了如何创建一个最基本的HTML文档页面。在
HTML代码中,使用多个标签规定节显示位置,如“
”、“
少量改动该例子,在页面的中心,输出一个颜色为浅蓝色,字号为
14的字符串“Hello World”,其运行结果如图1-2所示。图1-2 输出一个简单的字符串第2章 ASP.NET概述
.NET是Microsoft公司提出的新一代程序开发框架,而ASP.NET属
于.NET框架中的一部分,可以使用多种语言开发,主要用于创建Web应
用程序、网站及Web服务。本章将讲解ASP.NET中的各种基础知识。2.1 .NET开发
ASP.NET技术属于.NET框架的组成部分之一。在学习ASP.NET之
前,应该先了解一下.NET框架以及.NET框架和ASP.NET之间的关系。
2.1.1 .NET框架简介
互联网的出现已经彻底改变了人类的生活方式。从静态页面到能够
与用户交互的动态页面,互联网已经能够实现很强大的功能。Web应用
系统能够根据用户的要求,动态处理数据,向用户提供个性化的服务。
但是,现在的浏览器页面各自独立,互不相干。在互联网中,信息
被存储在 Web 服务器内,用户的所有操作都依靠它。这样无法让不同
的网页互相合作,传递有意义的信息,提供更深层次的服务。
于是,Microsoft 公司梦想把整个互联网变成一个操作系统,用户在
互联网上开发应用程序,使用互联网上的所有应用,就好像在自己办公
室里的PC上一样,感觉不到互联网的存在。Microsoft公司希望“Code
Once,Run Anywhere”,即写好一个程序,然后能够将其用之于四海,这就是.NET 的目标。整体上,.NET Framework框架如图2-1所示。图2-1 .NET Framework框架
在图2-1中,.NET Framework主要分为4部分:通用语言开发环
境、.NET基础类库、.NET开发语言和Visual Studio.NET集成开发环境。
1.通用语言开发环境
开发程序时,如果使用符合通用语言规范(Common Language
Specification)的开发语言,那么所开发的程序将可以在任何有通用语
言开发环境(Common Language Runtime)的操作系统下执行,包括
Windows 7、Windows CE、Windows NTXP等。
2..NET基础类库
简单来说,.NET基础类库(Basic Class Library)是一套函数库,以
结构严密的树状层次组织,并由命名空间(Namespace)和类(Class)
组成,功能强大,使用简单,并具有高度的可扩展性。
3..NET开发语言.NET是多语言开发平台,所谓的.NET开发语言指的是符合通用语
言规范(Common Language Specification)的程序语言。目前,Microsoft 公司提供 Visual Basic.NET、C、C++以及 Java Script.NET,其他厂商提供了很多对.NET的语言支持,包括APL、COBOL、Pascal、Eiffel、Haskell、ML、Oberon、Perl、Python、Scheme、Smalltalk等。
4.Visual Studio.NET 集成开发环境
.NET集成开发环境Visual Studio.NET是开发.NET应用的利器,它秉
承了Microsoft IDE一贯的易用性,功能非常强大。
2.1.2 ASP.NET与.NET框架的关系
ASP.NET是.NET框架中的一个应用模型,运行于具有.NET框架环
境的服务器中。ASP.NET可以使用多种语言编写,然后被编译成字节码
文件,运行于.NET框架中。
2.1.3 ASP、ASP.NET、PHP、JSP比较
目前在Web 开发中,除了ASP.NET 技术外,常用的技术还有
ASP(Active Server Pages)、PHP(Hypertext Preprocessor)和
JSP(Java Server Pages)。
1.ASP
ASP是一个Web服务器端的开发环境。开发人员利用它开发动态
的、交互的和高性能的Web服务应用程序。ASP采用脚本语言VB
Script(Java Script)作为自己的开发语言。
2.PHP
PHP是一种跨平台的服务器端的嵌入式脚本语言。它大量地借用
C、Java和Perl语言的语法,并结合PHP自己的特性,使Web开发者能够
快速地写出动态生成页面。PHP支持目前绝大多数数据库,并且它是完全免费与开源的。
3.JSP
JSP是Sun公司推出的新一代站点开发语言,它完全解决了目前
ASP、PHP的一个通病——脚本级执行。JSP可以在Servlet和JavaBean的
支持下,完成功能强大的站点程序。
ASP、ASP.NET、PHP、JSP 都提供在 HTML 代码中混合某种程序
代码,由语言引擎解释执行程序代码的能力。但JSP代码被编译成
Servlet并由Java虚拟机解释执行。这种编译操作仅在对JSP页面的第一次
请求时发生。
在 ASP、ASP.NET、PHP、JSP 环境下,HTML 代码主要负责描述
信息的显示样式,而程序代码则用来描述处理逻辑。普通的HTML页面
只依赖于Web服务器,而ASP、ASP.NET、PHP、JSP页面需要附加的语
言引擎分析和执行程序代码。程序代码的执行结果被重新嵌入到HTML
代码中,然后一起发送给浏览器。ASP、ASP.NET、PHP、JSP 都是面
向 Web 服务器的技术,客户端浏览器不需要任何附加的软件支持。2.2 开发工具Visual Studio 2010概述
Visual Studio 2010是Microsoft公司发布的一个集成开发工具,主要
用来开发.NET平台的各种应用。本节将详细讲述Visual Studio 2010的安
装配置。
2.2.1 Visual Studio 2010简介
Visual Studio 2010是一套完整的开发工具集,用于生成ASP.NET
Web应用程序、XML Web Services、桌面应用程序和移动应用程序。
Visual Basic、Visual C++、Visual C和Visual J全都使用相同的集成开
发环境(IDE),利用此IDE可以共享工具且有助于创建混合语言解决
方案。另外,这些语言利用了.NET Framework的功能,通过此框架可使
用简化ASPWeb应用程序和XML Web Services开发的关键技术。
2.2.2 使用Visual Studio 2010
安装完Visual Studio 2010后,可以在“开始”菜单中找到其快捷方
式。单击Visual Studio 2010的快捷方式,打开Visual Studio 2010的开发
界面,如图2-2所示。图中中间的主体部分是代码编辑器,同时还可以
切换到设计视图;左侧是“工具箱”面板,其中列出了常用的控件,可以
直接拖曳到主界面中使用;右上方是“解决方案资源管理器”面板,显示
的是当前活动的解决方案以及下面的工程文件。图2-2 Visual Studio 2010开发界面
在“解决方案资源管理器”面板的下面是“属性”面板,在这里可以更
改选中控件的属性值。
单击菜单“工具”|“选项”命令,出现“选项”对话框,如图2-3所示。在
对话框中,可以对诸多编辑器的属性进行编辑,如环境、项目和解决方
案、源代码管理、文本编辑器、调试、数据库工具等。图2-3 “选项”对话框
2.2.3 配置IIS
如果是开发简单的ASP.NET程序,用Visual Studio 2010已经足够。
如果开发HTTP程序,则需要先配置好Windows系统中的IIS服务器(设
置好虚拟目录)。Windows系统默认没有安装Internet信息服务(IIS),其组件包含在系统光盘中。其安装步骤如下。
(1)将Windows系统光盘插入到光驱中。
(2)单击“开始”|“控制面板”|“程序和功能”|“打开或关闭Windows功
能”命令,弹出“Windows功能”对话框,如图2-4所示。勾选“Internet信息
服务”选项,单击“确定”按钮。
完成安装之后,系统会创建一个默认的站点。打开浏览器,在地址
栏中输入“http:localhost”,会打开一个“IIS 7文档”,如图2-5所示。
我们还可以自己创建一个虚拟目录,其创建步骤如下。
(1)在硬盘中的某个路径下创建一个目录,如“Z:\TestWeb\”,可
以在此目录下编写网站的代码文件。图2-4 Windows组件图2-5 Microsoft Internet信息服务7文档
(2)右键单击“我的计算机”图标,在上下文菜单中选择“管理”命
令,以此展开左边树结构的结点“服务和应用程序”|“Internet信息服务
(IIS)管理器”。或者单击“控制面板”|“管理工具”|“Internet信息服务”命
令,进入IIS管理页面,如图2-6所示。图2-6 IIS管理页面
(3)右键单击“Default Web Site”,在上下文菜单中选择“添加虚拟
目录”命令,出现“添加虚拟目录”对话框,如图2-7所示。
(4)在“别名”文本框中输入要创建的虚拟目录的名字,如“TestWeb”。单击“…”按钮,选择刚才创建的目录“Z:\TestWeb\”。这
时,虚拟目录的实际路径已经指向了“Z:\TestWeb\”,如图2-8所示。
(5)单击“确定”按钮,完成虚拟目录的创建。图2-7 添加虚拟目录
图2-8 虚拟目录别名和路径
创建完虚拟目录之后,需要测试一下刚才创建的是否有效。测试的
方法就是通过浏览器试图访问一个目录下的静态页面,具体步骤如下。(1)在目录“Z:\TestWeb\”下创建一个静态页面文件test.htm。代码
如下:
这是一个测试IIS服务器的页面。
(2)打开浏览器,在地址栏中输入地
址“http:localhostTestWebtest.htm”。访问结果如图2-9所示。
图2-9 测试虚拟目录页面2.3 第一个ASP.NET程序
本节将通过一个简单的ASP.NET程序使读者能够了解如何使用控件
创建一个ASP.NET程序。
2.3.1 搭建Web项目
创建Web项目或者网站通常有两种方式:HTTP和文件系统。使用
HTTP方式创建网站需要安装IIS服务;使用文件系统创建网站不必安装
IIS服务,因为Visual Studio.NET 2010本身自带了一个可以运行ASP.NET
程序的服务,当程序执行或者调试的时候,这个服务就会自动启动。
1.使用HTTP方式创建Web网站
使用HTTP方式创建Web网站的具体步骤如下。
(1)进入 IIS 服务管理页面,添加一个虚拟目录,命名
为“TestWeb”(如果前面已经存在此虚拟目录,这里无须重复添加)。
(2)启动Visual Studio.NET 2010。
(3)单击主窗口上的“文件”|“新建”|“网站”菜单,弹出“新建网
站”对话框。
(4)选择“ASP.NET 空网站”项,在下侧“Web 位置”下拉框中选
择“HTTP”,然后输入“http:localhostTestHelloWorld_ASPNET”,如图
2-10所示。图2-10 使用HTTP方式创建网站
(5)单击“确定”按钮,等待Visual Studio.NET创建新的工程成功。
2.使用文件系统的方式创建Web网站
使用文件系统方式创建Web网站的具体步骤如下。
(1)启动Visual Studio.NET 2010。
(2)单击主窗口上的“文件”|“新建”|“网站”菜单,弹出“新建网
站”对话框。
(3)选择“ASP.NET 空网站”项,在下侧“Web 位置”下拉框中选
择“文件系统”,然后输入“Z:\TestWeb\HelloWorld_ASPNET”,如图2-11
所示。
(4)单击“确定”按钮,等待Visual Studio.NET创建新的工程成功。图2-11 使用文件系统方式创建网站
2.3.2 添加代码
创建完网站之后就可以开始添加代码,其具体步骤如下。
(1)查看IDE中的“解决方案资源管理器”面板,如图2-12所示。右
键单击项目名称,选择“添加新项”命令,在打开的对话框中选择“Web
窗体”,将其改名为“HelloWorld.aspx”。
(2)查看主窗口,此时自动生成一个aspx页面,单击页面左下方
的“源”标签,然后将代码:
改为以下代码:
(3)在页面显示时,页面的标题将为“Hello World,ASPNET.”。
(4)单击页面左下方的“设计”标签,然后单击主窗口左侧的“工具
箱”隐藏面板,默认出现标准Web控件。双击“Label”控件,修改其属性。
ID:lblDisplay。
Text:空。
BackColor:Silver。
同样,双击“Button”控件,并修改其属性。
ID:btnShow。
Text:显示。
最后效果如图2-13所示。
图2-12 “解决方案资源管理器”面板
图2-13 添加Label和Button控件后的aspx页面(5)双击“显示”按钮,进入代码窗口(通过主窗口上侧的标签可
以在代码窗口和窗体窗口间进行切换),可以看到Visual Studio.NET已
经自动生成了很多代码。进入代码窗口后光标自动位于方
法“btnShow_Click( )”内部(即单击“显示”按钮会触发这个方法),在光
标处添加如下代码:
this.lblDisplay.Text=Hello World, ASP.NET.;
2.3.3 分析代码
在ASP.NET应用程序中,默认情况下,HTML页面和C代码是被分
开保存于两个文件中的。HTML页面存放在扩展名是.aspx的文件中,C
代码存放在扩展名是.cs的文件中。所以,在新建一个Web页面后,会自
动生成两个文件。
在HelloWorld.aspx文件中,最上面的代码如下:
<%@ Page Language=C AutoEventWireup=true
CodeFile=HelloWorld.aspx.cs
Inherits= HelloWorld %>
代码的说明如下。
Language:后台代码所使用的语言,这里使用的是C。
AutoEventWireup:是否自动启用页面事件,默认是启用。
CodeFile:与此HTML页面关联的后台代码页面的文件名。
Inherits:后台代码的类名,这里是HelloWorld。
在后台的 HelloWorld.aspx.cs 文件中,自动生成的代码大体有两部
分。一个是最上面的使用using关键字的如下几行代码:
using System;
using System.Collections.Generic;
using System.Linq;using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;;
这些代码引用了相应的命名空间,其实有些可以不用,这些等读者
有一定的基础后再学习。
另一个自动生成的代码就是方法Page_Load( )。这个方法是页面被
加载的时候调用的,可以说是页面执行的入口。
2.3.4 测试代码
完成添加代码后,就要运行并测试代码的准确性。测试代码的具体
步骤如下。
(1)在“资源管理器”中,右键单击“HelloWorld.aspx”文件,在快捷
菜单中单击“设为起始页”命令。
(2)使用快捷键Ctrl+F5启动程序后,结果如图2-14所示,单击“显
示”按钮,在标签中就会出现结果。
图2-14 HelloWorld_ASPNET运行结果
(3)查看在目录“E:\TestWeb\HelloWorld_ASPNET”下的工程文件,将会发现工程文件夹“HelloWorld_ASPNET”。其中,.aspx:页面文件;
.cs:代码文件。
至此,第一个ASP.NET应用就完成了。小结
本章全面详细地介绍了 ASP.NET 以及它和.NET 框架的关系,还讲
解了开发工具 Visual Studio 2010 的配置。最后,通过创建一个简单的
ASP.NET 应用程序,使读者更快速地掌握如何使用开发工具创建
ASP.NET Web应用程序。习题
1..NET Framework主要分为4个部分:______、______、______和
______。
2.下面描述不正确的是______。
A..NET是多语言开发平台
B..NET类库由命名空间和类组成
C.在Windows系统中必须安装.net framework才可以运行ASP.NET应
用程序
D.ASP.NET目前只能运行在Windows操作系统中
3.列举最常用的4种动态网页语言。
4.使用Visual Studio.NET 2010创建一个简单的Web网站。上机指导
ASP.NET是包含在.NET框架中的一项技术,主要用于构建Web应用
程序和以XML为基础的Web服务。
实验一:输出一个字符串
实验目的
巩固知识点——标签控件。标签控件用于显示文本。
实现思路
在 2.4 节中讲述了如何构建一个简单的 ASP.NET 应用程序。在本
例中,使用了两个控件:一个是标签控件,用于显示文本;另一个是按
钮控件,用于响应单击事件。当用户单击按钮的时候,就会响应按钮的
单击事件,输出一个字符串。
少量改动该例子,就可以输出一个自定义的字符串,改动后的运行
结果如图2-15所示。
图2-15 输出一个简单的字符串实验二:交互式输出字符串
实验目的
巩固知识点——文本框控件。文本框控件用于输入文本。
实现思路
本实验在实验一的基础上,增加了一个文本框控件。当用户单击事
件的时候,在标签中显示用户在文本框控件中输入的内容。其具体的实
现步骤如下。
(1)创建一个ASP.NET网站。
(2)切换到“设计”视图,从工具箱面板的“标准”组中,分别拖放 3
个控件到页面中,3个控件是:TextBox控件、Label控件、Button控件。
(3)双击按钮控件,自动生成单击事件的代码。在后台页面中生
成的单击事件的代码如下:
protected void Button1_Click(object sender, EventArgs e)
{
}
(4)在单击事件的方法中,添加代码,使标签控件显示用户在文
本框中输入的内容。代码如下:
protected void Button1_Click(object sender, EventArgs e)
{
Label1.Text = TextBox1.Text;
}
(5)按 Ctrl+F5 快捷键运行代码,运行结果如图 2-16所示。图2-16 交互式输出字符串运行结果第3章 ASP.NET常用控件
本章重点介绍ASP.NET中一些常用的服务器控件,如文本控件、按
钮控件、单选按钮、复选按钮等。本章的后续部分结合具体实例,主要
讲解用户登录系列控件的使用。登录验证模块的流程如图3-1所示。
图3-1 登录验证模块流程图3.1 开发站点前的配置
在ASP.NET中新增加了一个工具:站点安全配置。通过此工具可以
配置站点的一些公共属性,如验证类型等。本节将详细介绍此工具的使
用,开发站点前的部署流程如图3-2所示。
图3-2 开发站点前的部署流程图
3.1.1 创建Web站点
在Visual Studio 2010中,项目不再以Windows应用和Web应用来称
呼,而是被称为“项目”和“网站”。现在重点介绍如何创建一个网站,具
体步骤如下。
(1)打开Visual Studio 2010,单击“文件”|“新建”|“网站”命令,打
开Visual Studio 2010的“新建网站”对话框,如图3-3所示。它主要分为模
板区和配置区。图3-3 Visual Studio 2010的“新建网站”对话框
(2)在配置区内可以为网站命名,本例将网站命名
为“UserLogin”。
(3)单击“确定”按钮,打开空网站的默认工作界面,因为默认情
况下只有一个 web.config配置文件,为了操作方便,我们每次都要先添
加一个Default.aspx页面,如图3-4所示。图3-4 网站的默认工作界面
生成页面“Default.aspx”的同时,还会有一个代码文
件“Default.aspx.cs”,这两个文件的地址在同一个目录下。至此就完成了
一个简单网站的创建。
3.1.2 ASP.NET配置文件
ASP.NET配置数据存储在XML文本文件中,每一个XML文本文件
都命名为web.config。
新建一个Web站点或者项目后,默认情况下会在根目录自动创建一
个web.config文件,包括默认的配置设置,所有的子目录都继承它的配
置设置。如果要修改子目录的配置设置,可以在该子目录下新建一个
web.config文件。它可以提供除了从父目录继承的配置信息以外的配置
信息,也可以重写或修改父目录中定义的设置。
所有的ASP.NET配置信息都驻留在web.config文件中的configuration
元素中。3.1.3 使用站点安全工具配置身份验证模式
站点安全配置工具主要用于管理站点的安全,其功能主要有配置身
份验证模式和设置数据库引擎等。身份验证模式主要是让系统了解该从
哪里加载用户数据。ASP.NET主要提供两种验证模式:Windows验证和
Forms验证。配置步骤如下。
(1)打开上节创建的网站“UserLogin”。
(2)单击“网站”|“ASP.NET 配置”命令,打开“ASP.NET Web 应用
程序管理”窗口,如图3-5所示。
图3-5 “ASP.NET Web应用程序管理”窗口
(3)单击“安全”链接,打开应用程序的安全设置界面,如图3-6所
示。此界面主要有5个主要功能:选择身份验证类型、依据向导配置安
全性、用户管理、角色管理和访问规则管理。图3-6 配置工具中安全设置界面
(4)单击“选择身份验证类型”链接,打开验证类型界面,如图3-7
所示。根据两个验证类型的介绍可以看出,通常在局域网的应用中使
用“Windows”验证,登录用户多为机器中的用户组。在Internet中使
用“Forms”验证,登录用户为存储在数据库中的用户信息。本例以网站
应用为目的,所以选择“通过Internet”选项。图3-7 身份验证界面
(5)单击“完成”按钮,系统返回安全设置界面,关闭整个工具窗
口。
(6)此时并没有生成配置文件“web.config”。为了能让系统自动生
成配置文件并进行合理配置,按F5键运行程序,系统弹出一个对话框,如图3-8所示。图3-8 “未启用调试”提示对话框
(7)选择第一项,单击“确定”按钮,系统自动在“解决方案资源管
理器”中生成一个“web.config”配置文件。
(8)关闭运行的页面,回到Visual Studio 2010工作界面,打开根
目录下的“web.config”文件,会发现里面只有一个配置,就是身份验证
的类型,具体代码如下:
上一小节中使用了身份验证模式来确定用户数据的来源,本小节通
过配置数据存储方式来确定用户信息如何保存,配置步骤如下。
(1)在Visual Studio 2010的工作界面中,单击“网站”|“ASP.NET配
置”命令,打开“ASP.NET Web应用程序管理”窗口。
(2)单击“提供程序”链接,转到提供程序界面,如图3-9所示。
(3)默认的提供程序是“AspNetSqlProvider”,此提供程序将数据
保存在 ASP.NET 自带的数据库中,数据库名为“ASPNETDB”。所有的
用户信息、个性化信息和基本配置等都保存在此数据库中。
图3-9 提供程序配置界面3.1.5 定制自己的数据存储方式
默认情况下,.NET提供了默认数据库的SQL提供程序,开发人员也
可以根据站点的需要,用自己的数据库保存配置信息。具体操作步骤如
下。
(1)首先在SQL Server 2008下创建一个自己的数据库,命名
为“TestProvider”。
(2)数据库中没有任何表,ASP.NET包括一个名为
aspnet_regsql.exe 的命令行实用工具,可以提供向导的方式自定义数据
保存地址。
(3)单击 Windows 系统的“开始”|“所有程序”|“Visual Studio
2010”|“Visual Studio Tools”|“Visual Studio 2010命令提示”命令。
( 4 )在打开的 DOS 窗口中输入“aspnet_regsql.exe”,用来配置自
己的数据库。此时系统打开一个向导窗口,如图3-10所示。图3-10 “ASP.NET安装SQL Server安装向导”窗口
(5)单击“下一步”按钮,打开选择安装选项界面,如图3-11所
示。图3-11 选择安装选项界面
(6)选择第一项“为应用程序服务配置SQL Server”,单击“下一
步”按钮,打开选择服务器和数据库界面,如图3-12所示。图3-12 选择服务器和数据库界面
(7)在“服务器”文本框中输入自己机器的注册实例名,数据库选
择自己创建的“TestProvider”。单击“下一步”按钮,出现确认界面,如图
3-13所示。图3-13 确认界面
(8)单击“下一步”按钮,出现完成界面,如图3-14所示。图3-14 完成界面
(9)单击“完成”按钮,返回到SQL Server数据库中。打
开“TestProvider”数据库中的表,会发现所有的表全都是以“aspnet_”开头
的,这些表用来存储用户的一些个性信息。
(10)创建完成后还需要修改配置文件web.config,让系统知道数
据库的提供者发生了变化。在“configuration”节点下添加代码如下:
connectionString=Data Source=localhost;
Initial Catalog=TestProvider;Integrated Security=True
providerName=System.Data.SqlClient>
这样就可以使用自己的数据库来保存站点内所有的数据资料了,无
论是使用系统工具创建用户还是角色,都会保存在自己的数据库中。3.2 ASP.NET控件概述
之所以现在ASP.NET的开发方便和快捷,关键是它有一组强大的控
件库,包括HTML控件、HTML服务器控件、Web服务器控件、Web用
户控件、Web自定义控件等。
3.2.1 HTML控件
HTML 控件就是我们通常的说的 HTML 语言,它不能在服务器端
控制,只能在客户端通过JavaScript和VBScript等程序语言来控制。
下面的示例代码就是一个HTML的按钮控件,代码如下:
< input type=button id=btn value=button>
下面使用HTML客户端控件创建一个简单的示例,该示例使用
HTML的按钮控件。当单击按钮的时候,会弹出一个提示框。具体步骤
如下。
(1)打开Visual Studio 2010集成开发环境,单击“新建”|“网站”命
令,弹出“新建网站”对话框,如图3-15所示。
(2)在“Web位置”选项中,选择“文件系统”和网站创建的本地系统
目录“Z:\TestWeb\WebSite2”。图3-15 “新建网站”对话框
(3)单击“确定”按钮,进入编写代码的主窗口,同时添加一个
Default.aspx 页面文件,并自动生成Default.aspx.cs后台代码文件。在
Default.aspx文件中,自动生成了一个页面框架代码,其代码如下:
<%@ Page Language=C AutoEventWireup=true
CodeFile=Default.aspx.cs
Inherits=_Default %>
TransitionalEN
http:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd>





