第1章 ASP.NET概述 1
1.1 WWW的基础知识 1
1.1.1 WWW简介 1
1.1.2 WWW的特点和系统结构 3
1.1.3 WWW的工作原理 4
1.1.4 静态网页和动态网页 6
1.1.5 Web网页开发技术 8
1.2 ASP.NET的基础知识 10
1.2.1 ASP.NET的特点 10
1.2.2 ASP.NET引擎 10
1.2.3 ASP.NET应用程序的开发工具 11
1.2.4 ASP.NET应用程序的开发方式 12
1.3.NET Framework 13
1.3.1 .NET Framework体系结构 13
1.3.2 .NET Framework下应用程序的开发和执行 14
1.4 创建ASP.NET应用程序 15
1.4.1 ASP.NET应用程序的项目类型 15
1.4.2 设计第一个网站 17
1.4.3 Web应用程序集成开发环境 20
1.4.4 ASP.NET网页代码编写模型 22
1.4.5 打开一个网站 23
1.4.6 ASP.NET网站的工作原理 25
练习题1 27
上机实验题1 27
第2章 ASP.NET网站结构 29
2.1 ASP.NET网站的基本结构 29
2.1.1 网站文件类型 29
2.1.2 网站的目录结构 30
2.1.3 .aspx网页的结构 30
2.2 ASP.NET页面指令 30
2.3 代码脚本块和ASP.NET网站编译 34
2.3.1 代码脚本块 34
2.3.2 ASP.NET网站的编译和预编译 35
2.4 页面内容设计 36
2.4.1 网页静态元素设计 37
2.4.2 ASP.NET服务器控件 40
练习题2 43
上机实验题2 43
第3章 使用ASP.NET进行HTML5和CSS3设计 44
3.1 HTML的基础知识 44
3.1.1 HTML概述 44
3.1.2 HTML头部和主体标记 47
3.1.3 基础标记 49
3.1.4 格式标记 50
3.1.5 表格标记 51
3.1.6 样式/节标记 53
3.1.7 列表标记 54
3.1.8 超链接标记 57
3.1.9 图像标记 58
3.1.10 框架标记 60
3.1.11 表单标记 64
3.2 CSS 68
3.2.1 CSS和CSS3 68
3.2.2 样式表 68
3.2.3 样式表的组织方式 72
3.2.4 CSS方框模型 76
3.2.5 网页页面布局 78
练习题3 80
上机实验题3 80
第4章 C#语言基础 81
4.1 C#中的数据类型 81
4.1.1 值类型 81
4.1.2 引用类型 83
4.2 C#中的变量和常量 84
4.2.1 变量 84
4.2.2 常量 85
4.3 C#中的运算符 86
4.3.1 常用的C#运算符 86
4.3.2 运算符的优先级 87
4.3.3 装箱和拆箱 88
4.4 结构体类型和枚举类型 88
4.4.1 结构体类型 88
4.4.2 枚举类型 89
4.5 C#中的控制语句 90
4.5.1 选择控制语句 90
4.5.2 循环控制语句 94
4.6 数组 96
4.6.1 一维数组的定义 96
4.6.2 一维数组的动态初始化 96
4.6.3 访问一维数组中的元素 97
4.7 异常处理语句和命名空间 97
4.7.1 异常处理语句 97
4.7.2 使用命名空间 98
4.8 面向对象程序设计 99
4.8.1 类 99
4.8.2 对象 101
4.8.3 构造函数和析构函数 104
4.8.4 属性 105
4.8.5 方法 106
4.8.6 委托简介 109
4.8.7 事件简介 109
4.9 C#中的常用类和结构体 109
4.9.1 String类 109
4.9.2 Math类 110
4.9.3 Convert类 111
4.9.4 DateTime结构体 111
4.10 继承 112
4.10.1 什么是继承 112
4.10.2 派生类的声明 113
4.10.3 基类成员的可访问性 114
4.10.4 使用sealed修饰符来禁止继承 114
4.10.5 网页的继承模型 114
4.11 接口简介 116
4.12 程序调试 116
4.12.1 调试工具 116
4.12.2 设置断点 117
4.12.3 调试过程 117
练习题4 120
上机实验题4 120
第5章 ASP.NET的常用对象 121
5.1 ASP.NET对象概述 121
5.1.1 Web应用程序编程的难点及其应对 121
5.1.2 ASP.NET的内置对象 123
5.2 Page对象 123
5.2.1 Page对象的属性 123
5.2.2 Page对象的方法 124
5.2.3 Page对象的事件 124
5.2.4 Page对象的应用 126
5.3 Response对象 126
5.3.1 Response对象的属性 127
5.3.2 Response对象的方法 127
5.3.3 Response对象的应用 128
5.4 Request对象 129
5.4.1 Request对象的属性 129
5.4.2 Request对象的方法 129
5.4.3 Request对象的应用 130
5.5 Server对象 133
5.5.1 Server对象的属性 133
5.5.2 Server对象的方法 133
5.5.3 Server对象的应用 134
5.6 Application对象 135
5.6.1 Application对象的属性 135
5.6.2 Application对象的方法 136
5.6.3 Application对象的事件 137
5.6.4 几种常见功能的实现 137
5.6.5 Application对象的应用 137
5.7 Session对象 140
5.7.1 Session对象的属性 140
5.7.2 Session对象的方法 141
5.7.3 Session对象的事件 141
5.7.4 Session对象的应用 142
5.8 Cookie对象 143
5.8.1 Cookie对象的属性 143
5.8.2 Cookie对象的方法 144
5.8.3 Cookie对象的应用 144
5.9 ViewState对象 146
5.9.1 ViewState对象的属性 146
5.9.2 ViewState对象的方法 147
5.9.3 ViewState对象的应用 147
5.10 配置Global.asax文件 148
5.11 ASP.NET网页框架 150
5.11.1 网页的执行方式和ASP.NET状态管理 150
5.11.2 网页的生命周期 152
5.11.3 网页生命周期中的事件 154
练习题5 155
上机实验题5 155
第6章 Web标准服务器控件 156
6.1 Web标准控件概述 156
6.1.1 Web标准控件的分类 156
6.1.2 Web标准控件的公共属性、方法和事件 156
6.1.3 Web标准控件的相关操作 159
6.2 常用的表单控件 160
6.2.1 Label控件 161
6.2.2 TextBox控件 161
6.2.3 Button控件 162
6.2.4 LinkButton控件 163
6.2.5 Image控件 164
6.2.6 ImageButton控件 164
6.2.7 HyperLink控件 165
6.2.8 ImageMap控件 165
6.2.9 Table控件 168
6.2.10 Panel控件 170
6.2.11 HiddenField控件 170
6.2.12 Calendar控件 170
6.2.13 RadioButton控件 172
6.2.14 CheckBox控件 173
6.3 常用的列表控件 174
6.3.1 DropDownList控件 174
6.3.2 ListBox控件 177
6.3.3 RadioButtonList控件 179
6.3.4 CheckBoxList控件 181
6.3.5 BulletedList控件 183
6.4 常用的其他标准控件 185
6.4.1 FileUpload控件 185
6.4.2 View控件和MultiView控件 187
6.4.3 Wizard控件 188
练习题6 192
上机实验题6 193
第7章 ASP.NET验证控件 194
7.1 验证控件概述 194
7.1.1 使用验证控件的方法 194
7.1.2 验证控件的公共属性和方法 195
7.2 常见的验证控件 196
7.2.1 RequiredFieldValidator控件 196
7.2.2 CompareValidator控件 199
7.2.3 RangeValidator控件 202
7.2.4 RegularExpressionValidator控件 202
7.2.5 CustomValidator控件 204
7.2.6 ValidationSummary控件 206
7.3 使用验证组 208
练习题7 210
上机实验题7 210
第8章 用户控件 212
8.1 用户控件概述 212
8.2 创建用户控件 213
8.2.1 创建用户控件的过程 213
8.2.2 设置用户控件 214
8.3 使用用户控件 216
8.4 将网页转化为用户控件 219
8.4.1 将单个网页转换成用户控件 219
8.4.2 将代码隐藏网页转换成用户控件 219
练习题8 220
上机实验题8 220
第9章 主题和母版页 221
9.1 主题 221
9.1.1 主题概述 221
9.1.2 创建主题 223
9.1.3 应用主题 226
9.1.4 禁用主题 229
9.2 母版页 230
9.2.1 母版页和内容页 230
9.2.2 创建母版页 231
9.2.3 创建内容页 233
9.2.4 从内容页中访问母版页中的内容 236
9.2.5 母版页的嵌套 240
练习题9 241
上机实验题9 241
第10章 站点导航控件 243
10.1 ASP.NET站点导航概述 243
10.1.1 站点导航的功能 243
10.1.2 站点导航的工作方式 244
10.1.3 几种站点导航控件 244
10.2 站点地图 245
10.3 TreeView控件 246
10.3.1 TreeNode类 246
10.3.2 TreeView控件的属性、方法和事件 248
10.3.3 TreeNodeCollection类 250
10.3.4 向TreeView控件中添加结点的方法 251
10.4 Menu控件 255
10.4.1 MenuItem类 255
10.4.2 Menu控件的属性和事件 256
10.4.3 MenuItemCollection类 258
10.4.4 向Menu控件中添加菜单项的方法 259
10.5 SiteMapPath控件 261
练习题10 263
上机实验题10 264
第11章 ASP.NET AJAX控件 265
11.1 AJAX技术 265
11.1.1 AJAX的工作原理 265
11.1.2 XmlHttpRequest对象 266
11.1.3 实现AJAX的步骤 268
11.1.4 HTTP处理程序 269
11.1.5 AJAX编程示例 270
11.2 ASP.NET AJAX 272
11.2.1 ASP.NET AJAX概述 272
11.2.2 ScriptManager控件 273
11.2.3 UpdatePanel控件 274
11.2.4 UpdateProgress控件 278
11.2.5 Timer控件 283
11.2.6 ScriptManagerProxy控件 284
11.2.7 AJAX控件应用示例 284
11.3 AJAX控件工具集 288
练习题11 290
上机实验题11 290
第12章 ADO.NET数据库访问技术 291
12.1 数据库概述 291
12.1.1 关系数据库的基本结构 291
12.1.2 SQL Server 2012数据库管理系统 293
12.1.3 结构化查询语言 294
12.2 ADO.NET模型 298
12.2.1 ADO.NET简介 298
12.2.2 ADO.NET体系结构 299
12.2.3 ADO.NET数据库的访问流程 301
12.3 ADO.NET的数据访问对象 302
12.3.1 SqlConnection对象 302
12.3.2 SqlCommand对象 305
12.3.3 SqlDataReader对象 310
12.3.4 SqlDataAdapter对象 313
12.4 DataSet对象 315
12.4.1 DataSet对象概述 315
12.4.2 DataSet对象的属性和方法 316
12.4.3 Tables集合和DataTable对象 317
12.4.4 Columns集合和DataColumn对象 319
12.4.5 Rows集合和DataRow对象 320
12.5 数据源控件 322
12.5.1 数据源控件概述 322
12.5.2 SqlDataSource控件 322
12.5.3 LinkDataSource控件 330
12.6 数据绑定控件 335
12.6.1 数据绑定控件概述 335
12.6.2 列表控件的绑定 335
12.6.3 GridView控件 336
12.6.4 DetailsView控件 359
12.6.5 FormView控件 363
12.6.6 DataList控件 363
练习题12 369
上机实验题12 369
第13章 语言集成查询——LINQ 371
13.1 LINQ概述 371
13.1.1 什么是LINQ 371
13.1.2 LINQ提供程序 372
13.2 LINQ to Objects 373
13.2.1 LINQ基本操作 373
13.2.2 LINQ查询子句 374
13.2.3 方法查询 376
13.3 LINQ to XML 378
13.3.1 XML文档 378
13.3.2 使用LINQ to XML 380
13.4 LINQ to DataSet 383
13.5 LINQ to SQL 385
13.5.1 使用O/R映射器 385
13.5.2 使用LINQ to SQL 386
13.6 LINQ to Entities 390
13.6.1 ADO.NET实体框架 390
13.6.2 使用LINQ to Entities 394
13.6.3 EntityDataSource控件 396
练习题13 398
上机实验题13 402
第14章 Web系统的多层结构 403
14.1 Web系统的三层结构 403
14.1.1 什么是Web系统的三层结构 403
14.1.2 Web系统三层结构示例 404
14.2 ObjectDataSource控件 406
14.2.1 ObjectDataSource控件和SqlDataSource控件的区别 406
14.2.2 ObjectDataSource控件的使用方法 407
14.2.3 使用Obj ectDataSource控件关联数据访问层和表示层 407
14.2.4 ObjectDataSource控件应用示例 408
练习题14 416
上机实验题14 416
第15章 ASP.NET Web服务 418
15.1 Web服务概述 418
15.1.1 Web服务的特点 418
15.1.2 Web服务的体系结构 419
15.2 创建和使用Web服务 420
15.2.1 创建ASP.NET Web服务网站 420
15.2.2 创建ASP.NET Web服务 422
15.2.3 使用ASP.NET Web服务 425
15.3 通过Web服务传输DataSet数据集 428
15.4 在AJAX内容页中引用Web服务 430
练习题15 431
上机实验题15 431
第16章 配置ASP.NET应用程序 433
16.1 Web.config配置文件概述 433
16.1.1 Web.config文件的特点 433
16.1.2 配置文件的继承关系 434
16.2 Web.config文件 434
16.2.1 Web.config文件的结构 434
16.2.2 重要的配置节 436
16.2.3 在Web.config中保存自定义的设置 443
16.3 Web.config文件的加密和解密 444
16.3.1 Web.config文件的加密 444
16.3.2 Web.config文件的解密 445
16.4 ASP.NET安全机制 446
16.4.1 ASP.NET结构 446
16.4.2 ASP.NET安全级别 446
16.4.3 两种主要的身份验证模式 447
16.4.4 ASP.NET授权 449
练习题16 450
上机实验题16 450
第17章 成员资格和角色管理 451
17.1 成员资格概述 451
17.1.1 ASP.NET成员资格体系结构 451
17.1.2 配置成员资格的过程 452
17.2 建立成员资格数据 453
17.3 成员资格提供程序 455
17.3.1 SqlMembershipProvider提供程序 455
17.3.2 配置自己的SqlMembershipProvider提供程序 457
17.4 成员资格API 458
17.4.1 Membership类 458
17.4.2 MembershipUser类 460
17.4.3 MembershipCreateStatus类 461
17.5 登录控件 462
17.5.1 Login控件 462
17.5.2 其他登录控件 464
17.6 角色管理 464
17.7 使用向导配置安全性 465
练习题17 468
上机实验题17 468
第18章 学生成绩管理网站设计 469
18.1 网站功能 469
18.2 数据库设计 470
18.3 网站设计 471
18.3.1 建立网站 471
18.3.2 网站布局 471
18.4 网页设计 472
18.4.1 通用功能设计 472
18.4.2 主页设计 477
18.4.3 管理员端功能设计 480
18.4.4 学生端功能设计 494
18.4.5 教师端功能设计 495
练习题18 496
上机实验题18 496
附录A上机实验题设计参考答案 497
附录B综合上机实验题 523
附录C使用学生成绩管理系统 524
参考文献 526