
本书从初学者的角度出发,以通俗易懂的语言,丰富多彩的实例,详细介绍了使用ASP.NET 3.5进行Web程序开发应该掌握的主要技术。全书共分10章,主要内容包括ASP.NET 3.5概述,Visual Studio 2008集成开发环境,HTML、XHTML网页设计基础和C# 2008程序设计基础,使用ASP.NET编写网页的基础知识和相关的服务器控件,常用内置对象、数据源和数据绑定控件,以及ASP.NET 3.5中新增的AJAX控件及LINQ技术。
本书注重基础、讲究实用,内容丰富、结构合理、思路清晰、示例翔实,特别适合Web开发入门者。可作为高等院校计算机及相关专业的教材,也可供工程师和想利用Visual Studio 2008开发平台开发Web应用程序的人员参考阅读,并可作为各类培训班的培训教材。
前 言
随着网络技术的飞速发展,人类的信息资源实现了高度共享,从根本上改变了人类进行信息交流的方式,展开了一场史无前例的信息革命。越来越多的人习惯从网上搜索自己需要的资料,越来越多的企业将应用系统发布成网站,供自己的用户实现快捷、方便地业务处理。浏览器/服务器(B/S)结构的应用程序随着用户的这种需求而被提升到更高的地位。
在实现B/S结构的技术中,最具代表性的就是.NET框架下的ASP.NET技术和J2EE框架下的JSP技术。如今,随着ASP.NET技术的方便性逐渐提高,已经有越来越多的开发人员转入.NET开发阵营,从而在这个技术领域内的初学者和急需提高的人员数量不断增加。2008年2月,微软公司发布了ASP.NET 3.5。为了使初学者和ASP.NET技术人员快速完整地了解ASP.NET 3.5的技术特性,本书从基础到提高,由浅入深地介绍了相关知识,使读者能够全面、轻松、深刻地了解书中介绍的技术。
目前市面上有不少介绍ASP.NET的图书,但是要找一本适合初学者的图书也不容易。有些图书起点太高,初学者难以理解基本概念,学习起来困难重重,容易产生厌倦心理而放弃学习;有的图书又过于简单,读者在学完之后还是不会做任何实际的事情,不能达到一定的高度。
概括起来,本书具有以下主要特点:
? 注重基础,讲究实用,力求从入门到精通。
? 充分体现案例教学。本书以易学易用为重点,精选大量实用的示例、知识丰富、步骤详细、学习效率高,特别适合入门者。
? 配有源代码,方便上机实践。本书的所有示例均在Visual Studio 2008开发环境下调试通过,读者可以直接下载所有例子的源程序,并通过书中介绍的步骤学习开发要点。
本书共分10章,各章的主要内容如下:
第1章简要介绍了HTTP协议、静态网页和动态网页等Web基础知识,并介绍了ASP.NET 3.5的发展历史以及主要特点,最后讲解了Visual Studio 2008的安装方法和开发ASP.NET应用程序的一般步骤。通过这些介绍使读者对ASP.NET有一个整体的了解,为以后章节的学习打下基础。
第2章主要介绍了超文本标记语言HTML的显示原理以及常用标记,这是进行页面设计的基础,最后比较了XHTML和HTML的不同。
第3章介绍了编写ASP.NET网页所用的语言C#的基础知识。在进行ASP.NET程序设计之前,首先要选择一种编程语言,而最合适的就是C#。本章的内容包括C# 2008的数据类型、运算符、控制语句、类和对象等内容,最后一节介绍了C# 2008的新特性。通过本章的学习,读者可以在后面的章节中使用C#语言来设计程序。
第4章介绍了如何利用ASP.NET建立Web页面,及创建ASP.NET Web页面所需的基础知识。包括ASPX网页的基类、页面是如何组织和运行的、ASP.NET的网页代码模型以及状态管理和配置管理的相关知识,对读者理解ASP.NET的工作模式非常重要。
第5章介绍了HTML服务器控件、Web服务器控件和验证控件的使用方法,利用这些控件可以大大提高程序开发效率,是开发ASP.NET应用程序的基础。
第6章介绍了ASP.NET中常用的内置对象,包括Request、Response、Session、Application和Server的主要方法和属性,并讲解了Cookie对象的使用方法。熟练掌握这些内置对象,可以开发出功能强大的应用程序。
第7章介绍了使用ADO.NET进行数据库访问的方法。主要包括ADO.NET的数据提供者(Data Provider)和数据集(DataSet)的基础知识等。
第8章介绍了数据绑定技术、ASP.NET 3.5提供的各种数据源控件和使用数据源控件连接到各种数据源的方法以及复杂数据绑定控件的功能和使用方法。
第9章介绍了Ajax的基础知识以及ASP.NET AJAX控件,这是微软的客户端异步无刷新页面技术,在新的ASP.NET 3.5中,已经包含了此技术框架。
第10章用一个综合的例子将有关知识贯穿在一起。
本书由胡静、韩英杰、石磊编著整理,在本书编写过程中,石磊教授给予了大力支持和帮助,同时胡连春、王文秀、侯垚森、景三东、何增辉、王战红、史海振、扬仕飞、刘杨、张艳等付出了辛勤的劳动,在此一并向他们表示诚挚的感谢。
本书从ASP.NET基础知识讲起,语言通俗易懂,并配有大量实例和插图,使读者对每一章所讲述的内容都能有深刻的理解并加以巩固,十分适合初学者和有一定ASP.NET基础的人员使用。
在编写本书的过程中参考了许多相关文献,在此向这些文献的作者深表感谢。由于时间较紧,书中难免有错误与不足之处,恳请专家和广大读者批评指正。我们的信箱是huchenhao@263.net,电话:010-62796045。
作 者
2009年8
目 录
第1章 ASP.NET 3.5概述 1
1.1 Web基础知识 1
1.1.1 HTTP协议 1
1.1.2 Web服务器和浏览器 2
1.1.3 C/S模式与B/S模式 2
1.1.4 Web的访问原理 2
1.1.5 常见的网页程序设计技术 4
1.2 ASP.NET 3.5简介 6
1.2.1 . NET框架 6
1.2.2 ASP. NET 3.5概述 9
1.2.3 ASP.NET开发工具 10
1.3 安装Visual Studio 2008 10
1.3.1 安装Visual Studio 2008 11
1.3.2 主窗口 13
1.3.3 文档窗口 13
1.3.4 工具箱 15
1.3.5 解决方案资源管理器 16
1.3.6 属性窗口 16
1.3.7 错误列表窗口 16
1.4 开发ASP.NET Web应用程序
的一般流程 17
1.4.1 创建ASP.NET应用程序 17
1.4.2 运行ASP.NET应用程序 18
1.5 本章小结 18
1.6 思考和练习 18
第2章 HTML和XHTML 20
2.1 HTML语言简介 20
2.1.1 Web标准 20
2.1.2 HTML的起源和演变 21
2.1.3 HTML语言的特点 21
2.1.4 HTML标记基础 21
2.1.5 HTML文档的结构 22
2.2 设置文字 24
2.2.1 段落标记<p>和换行
标记<br> 24
2.2.2 文字修饰标记 25
2.2.3 注释标记 26
2.3 超链接 26
2.3.1 什么是URL 27
2.3.2 超链接的路径 27
2.3.3 超链接标记<a> 27
2.4 插入图像 29
2.4.1 图像的格式 29
2.4.2 图像标记<img> 29
2.5 表格 31
2.5.1 基本的表格标记 31
2.5.2 设置表格的属性 31
2.5.3 设置跨行、跨列的表格 33
2.6 表单 34
2.6.1 表单标记<form> 35
2.6.2 <input>标记 36
2.6.3 <select>标记 37
2.6.4 <textarea>标记 37
2.7 XHTML 39
2.7.1 XHTML简介 39
2.7.2 XHTML文档的结构 40
2.7.3 XHTML与HTML之间
的语法差异 41
2.8 本章小结 42
2.9 思考和练习 42
第3章 C# 2008基础 45
3.1 C#语言简介 45
3.2 数据类型 46
3.2.1 值类型 46
3.2.2 引用类型 51
3.2.3 语句 53
3.2.4 标识符与关键字 54
3.2.5 常量和变量 55
3.2.6 装箱和拆箱 57
3.3 运算符 57
3.3.1 算术运算符 58
3.3.2 赋值运算符 58
3.3.3 关系运算符 59
3.3.4 逻辑运算符 59
3.3.5 条件运算符 60
3.3.6 对象创建运算符 60
3.3.7 运算符的优先级 61
3.4 控制语句 62
3.4.1 分支语句 62
3.4.2 循环语句 64
3.4.3 跳转语句 68
3.4.4 异常处理语句 69
3.5 字符串处理 75
3.5.1 使用String和StringBuilder 75
3.5.2 格式化字符串 78
3.6 类和对象 80
3.6.1 定义类 81
3.6.2 定义成员 82
3.6.3 对象的创建与回收 86
3.6.4 封装性、继承性和多态性 87
3.6.5 定义接口和抽象类 89
3.7 委托与事件 91
3.7.1 委托 92
3.7.2 事件 93
3.8 C#2008的新特性 94
3.8.1 扩展方法 94
3.8.2 对象初始化器 95
3.8.3 匿名类型 97
3.8.4 隐式类型局部变量 97
3.8.5 自动属性 97
3.9 本章小结 98
3.10 思考和练习 98
第4章 用ASP.NET建立Web页面 103
4.1 ASPX网页的基类 103
4.2 页面管理 104
4.2.1 页面的往返与处理机制 105
4.2.2 页面的生命周期 105
4.2.3 ASP.NET页生命周期事件 106
4.2.4 ASP.NET页面指令 107
4.3 ASP.NET的网页代码模型 108
4.3.1 单文件页模型 108
4.3.2 代码隐藏页模型 110
4.3.3 用Visual Studio 2008创建
ASP.NET网页 113
4.4 状态管理 115
4.4.1 页面状态概述 115
4.4.2 视图状态 115
4.4.3 控件状态 117
4.4.4 隐藏域 118
4.5 ASP.NET配置管理 118
4.5.1 配置文件的规则 119
4.5.2 配置Web.config文件 120
4.6 本章小结 121
4.7 思考和练习 122
第5章 服务器控件 124
5.1 控件简介 124
5.1.1 控件的分类 124
5.1.2 在页面中添加HTML
服务器控件 125
5.1.3 在页面中添加Web
服务器控件 125
5.1.4 以编程方式添加
服务器控件 126
5.1.5 设置服务器控件属性 126
5.2 HTML服务器控件 127
5.2.1 HTML服务器控件的
公共属性 129
5.2.2 HTML服务器控件的使用 130
5.3 Web服务器控件 139
5.3.1 基本的Web服务器控件 141
5.3.2 ASP.NET列表控件 149
5.4 验证控件 155
5.4.1 验证控件及其作用 155
5.4.2 验证控件的公有成员 156
5.4.3 验证控件的用法 157
5.4.4 禁用数据验证 168
5.5 本章小结 169
5.6 思考和练习 169
第6章 ASP.NET常用对象 171
6.1 对象简介 171
6.2 Request对象 172
6.2.1 Request对象简介 172
6.2.2 使用QueryString属性 172
6.2.3 ServerVariables属性 174
6.2.4 lientCertificate属性 174
6.2.5 Browser属性 175
6.3 Response对象 175
6.3.1 Response对象简介 175
6.3.2 利用Write方法输出信息 176
6.3.3 使用Redirect方法引导客户
至另一个URL位置 176
6.3.4 关于BufferOutput属性 177
6.3.5 输出缓存资料 178
6.3.6 WriteFile方法 178
6.4 Cookie对象 179
6.4.1 什么是Cookie 179
6.4.2 如何读写Cookie 180
6.4.3 检测用户是否启用了
Cookie 182
6.5 Session对象 182
6.5.1 Session对象简介 182
6.5.2 利用Session存储信息 183
6.5.3 Timeout属性 184
6.5.4 Abandon方法 184
6.5.5 使用Session对象的
注意事项 184
6.6 Application对象 185
6.6.1 Application对象简介 185
6.6.2 利用Application对象
存储信息 185
6.6.3 Global.asax文件 186
6.7 Server对象 188
6.7.1 Server对象简介 188
6.7.2 ScriptTimeout属性 189
6.7.3 CreateObject方法 189
6.7.4 HTMLEncode方法 189
6.7.5 URLEncode方法 190
6.7.6 MapPath方法 191
6.7.7 Execute方法 192
6.7.8 Transfer方法 192
6.8 本章小结 192
6.9 思考和练习 193
第7章 ADO.NET数据库编程 196
7.1 ADO.NET基础 196
7.1.1 什么是ADO.NET 196
7.1.2 与数据有关的命名空间 197
7.2 ADO.NET数据提供者 198
7.2.1 Connection对象 198
7.2.2 Command对象 200
7.2.3 DataReader对象 203
7.2.4 DataAdapter对象 205
7.3 使用ODBC.NET
Data Provider 206
7.3.1 ODBC .NET Data
Provider简介 206
7.3.2 连接ODBC数据源 207
7.4 DataSet对象 209
7.4.1 DataSet对象简介 209
7.4.2 插入记录 213
7.4.3 删除记录 215
7.4.4 更新记录 216
7.5 ADO.NET 3.5的新特性 218
7.6 本章小结 218
7.7 思考与练习 218
第8章 ADO.NET数据库高级操作 222
8.1 数据源控件 222
8.1.1 SqlDataSource控件 223
8.1.2 AccessDataSource控件 229
8.1.3 ObjectDataSource控件 230
8.1.4 SiteMapDataSource控件 236
8.1.5 XmlDataSource控件 238
8.1.6 LinqDataSource控件 243
8.2 数据绑定技术 250
8.2.1 简单数据绑定技术 250
8.2.2 复杂的数据绑定技术 252
8.2.3 Eval()和Bind()方法 253
8.3 数据绑定控件 254
8.3.1 Repeater控件 254
8.3.2 DataList控件 257
8.3.3 GridView控件 260
8.3.4 DetailsView控件 263
8.3.5 FormView控件 267
8.3.6 DataPager控件 273
8.3.7 ListView控件 274
8.4 本章小结 282
8.5 思考与练习 283
第9章 ASP.NET 3.5 AJAX 286
9.1 Ajax简介 286
9.1.1 什么是Ajax 286
9.1.2 Ajax与传统Web技术
的区别 287
9.1.3 Ajax的优点 288
9.1.4 Ajax使用的技术 289
9.1.5 ASP.NET 3.5 AJAX 289
9.1.6 ASP.NET 3.5 AJAX
简单示例 290
9.2 ASP.NET 3.5 AJAX控件 292
9.2.1 ScriptManger(脚本管理员)
控件 292
9.2.2 Timer(时间)控件 294
9.2.3 UpdatePanel(更新区域)
控件 296
9.2.4 UpdateProgress(更新进度)
控件 298
9.3 本章小结 299
9.4 思考和练习 300
第10章 网站会员登录与注册系统 302
10.1 设计思路 302
10.1.1 功能概述 302
10.1.2 程序业务流程图 302
10.1.3 数据库设计 303
10.1.4 文件组织结构 304
10.2 创建数据库 304
10.3 会员注册 305
10.3.1 实现关键技术 305
10.3.2 功能实现 307
10.4 会员登录 310
10.4.1 关键技术实现方法 310
10.4.2 功能实现 313
10.5 本章小结 315
10.6 思考和练习 316
参考文献 319