Web程序设计——ASP.NET实用网站开发(第3版)—微课版
定 价:49 元
丛书名:21世纪高等学校计算机专业核心课程规划教材
- 作者:沈士根、叶晓彤
- 出版时间:2018/9/1
- ISBN:9787302506799
- 出 版 社:清华大学出版社
- 中图法分类:TP393.092.2
- 页码:
- 纸张:胶版纸
- 版次:
- 开本:16开
ASP.NET是Web应用程序开发的主流技术之一。本书以Visual Studio Community 2017为开发平台,以技术应用能力培养为主线,介绍网站配置、开发环境、jQuery、Bootstrap、与ASP.NET结合的C#基础、ASP.NET页面调试、ASP.NET常用服务器控件、验证控件、状态管理、LINQ数据访问、数据绑定、ASP.NET三层架构、主题、母版、用户控件、网站导航、ASP.NET Ajax、Web服务、WCF服务、文件处理等,*后的MyPetShop应用程序综合了开发全过程,提供了基于ASP.NET三层架构开发Web应用程序的学习模板。书中包含的实例来自作者多年的教学积累和项目开发经验,颇具实用性。
为方便教师教学和读者自学,本书通过嵌入二维码形式提供了书中重点内容的讲解视频,还有配套的实验指导书《Web程序设计ASP.NET上机实验指导(第3版)》,以及配套的免费课件、教学大纲、实验大纲、实例源代码等。
本书概念清晰、逻辑性强,内容由浅入深、循序渐进,适合作为高等院校计算机相关专业的Web程序设计、网络程序设计、Web数据库应用等课程的教材,也适合对Web应用程序开发有兴趣的人员自学使用。
《Web程序设计ASP.NET实用网站开发(第3版)微课版》是浙江省普通高校十三五新形态教材,为方便教师教学和读者自学,本书通过嵌入二维码形式提供了实例讲解等教材重点内容的微课,还有配套的实验指导书《Web程序设计ASP.NET上机实验指导(第3版)》,以及免费配套的课件、教学大纲、实验大纲、实例源代码等。
目前,ASP.NET是进行Web应用程序开发的主流技术之一。该技术易学易用、开发效率高,可配合任何一种.NET语言进行开发。
基于Visual Studio Community 2017开发平台的ASP.NET建立在.NET Framework 4.6基础上,强调开发人员的工作效率,着力提升系统运行性能和可扩展性。通过使用LINQ技术,可提供跨各种数据源和数据格式查询数据的一致模型。它包含的ASP.NET Ajax极大地简化了在ASP.NET网站中对页面局部刷新效果的实现。使用Visual Studio Community 2017,能很好地支持XHTML5、CSS3、jQuery、Bootstrap等,实现JavaScript的智能编程提示,还支持开发适合物联网应用和智能手机应用等连接到互联网的基于云的现代应用程序,能实现Windows、Mac和Linux等操作系统上的跨平台开发和部署。
本书紧扣基于Visual Studio Community 2017的ASP.NET进行Web应用程序开发所需要的知识、技能和素质要求,以技术应用能力培养为主线构建教材内容。强调以学生为主体,覆盖基础知识和理论体系,突出实用性和可操作性,强化实例教学,通过实际训练加强对理论知识的理解。注重知识和技能结合,把知识点融入实际项目的开发中。在这种思想指导下,本书内容组织如下:
第1章介绍基于Visual Studio Community 2017的ASP.NET的运行、开发环境和网站配置等。
第2章以知识够用为原则,介绍采用ASP.NET技术进行Web应用程序开发的准备知识,主要包括核心的XHTML5元素、页面模型、实现布局的CSS3、提升用户体验的JavaScript、广受欢迎的jQuery、标准的数据交换格式语言XML、配置文件、全局应用程序类文件、主流的前端框架Bootstrap等。
第3章给出了C#的浓缩版,并且在介绍时直接与ASP.NET 技术结合,还介绍了ASP.NET页面调试技术。
第4章和第5章介绍ASP.NET标准控件和验证控件的运用。
第6章介绍ASP.NET页面运行时的HTTP请求、响应、状态管理机制。
第7章介绍利用数据源控件和LINQ技术访问数据库的方法,还介绍利用LINQ技术访问XML数据的方法。其实,熟练掌握LINQ技术可实现任何数据访问要求。
第8章介绍利用数据绑定控件呈现数据库中数据的技术。
第9章以MyPetShop应用程序中的用户管理为例,介绍当前普遍使用的ASP.NET三层架构,以及利用ASP.NET三层架构进行Web应用程序开发的方法。
第10章从网站整体风格统一角度介绍主题、母版和用户控件的运用。
第11章介绍网站导航技术。
第12章介绍能提升用户体验的ASP.NET Ajax技术。
第13章介绍Internet上广泛调用的Web服务和Microsoft公司推出的WCF服务。
第14章介绍Web服务器上的文件处理。
第15章纵览全局,通过MyPetShop应用程序综合实例,说明了基于ASP.NET三层架构进行Web应用程序开发的全过程,给出了一个很好的学习模板。
本书以Visual Studio Community 2017为开发平台,使用C#开发语言,提供大量来源于作者多年教学积累和项目开发经验的实例。
为方便教师教学和读者自学,本书通过嵌入二维码形式提供了书中重点内容的讲解视频,还有配套的实验指导书《Web程序设计ASP.NET上机实验指导(第3版)》,以及配套的免费课件、教学大纲、实验大纲、实例源代码等。有关课件、实例源代码等可到清华大学出版社网站http://www.tup.com.cn下载。
本书概念清晰、逻辑性强,内容由浅入深、循序渐进,适合作为高等院校计算机相关专业的Web程序设计、网络程序设计、Web数据库应用等课程的教材,也适合对Web应用程序开发有兴趣的人员自学使用。
本书由沈士根负责统稿,其中,沈士根编写第1~9章,叶晓彤编写第10~15章。
本书第1版、第2版,以及配套的《Web程序设计ASP.NET上机实验指导》第1版、第2版分别在2009年和2014年出版,主教材累计印刷21次,配套的上机指导教材累计印刷14次,受到了众多高校和广大读者的欢迎,很多不相识的读者来邮件与我们交流并给出了宝贵意见。在此,表示衷心感谢。
希望本书能成为初学者从入门到精通的阶梯。对于书中存在的疏漏及不足之处,欢迎读者发邮件与我们交流,以便再版时改进。我们的邮箱是ssgwcyxxd@126.com。
作 者
2018年3月
第1章 ASP.NET运行及开发环境 1
1.1 ASP.NET概述 1
1.1.1 静态页面和动态页面 1
1.1.2 .NET Framework 1
1.1.3 ASP.NET特性 2
1.1.4 ASP.NET的开发模式 2
1.2 IIS 3
1.2.1 IIS 7.5的安装 3
1.2.2 IIS 7.5中的网站、Web应用程序和虚拟目录 4
1.2.3 IIS Express 7
1.3 Visual Studio Community 2017 8
1.3.1 开发环境概览 8
1.3.2 使用解决方案管理VSC 2017中新建的网站 10
1.3.3 发布Web应用 12
1.3.4 复制网站 14
1.4 小结 14
1.5 习题 15
第2章 ASP.NET网站文件、jQuery和Bootstrap 17
2.1 .html文件和XHTML5 17
2.1.1 .html文件结构 17
2.1.2 常用的XHTML5元素 18
实例2-1 认识常用的XHTML5元素 19
2.2 .aspx文件 20
2.2.1 单文件页模型 20
实例2-2 熟悉单文件页模型 21
2.2.2 代码隐藏页模型 22
实例2-3 熟悉代码隐藏页模型 22
2.3 .css文件和CSS常识 23
2.3.1 定义CSS3样式 23
2.3.2 CSS3样式位置 24
实例2-4 运用页面样式 25
实例2-5 运用外部样式表 26
2.4 .js文件和JavaScript常识 27
2.4.1 JavaScript代码位置 27
实例2-6 熟悉元素中的JavaScript代码 27
实例2-7 熟悉元素中的JavaScript代码 28
实例2-8 运用独立的.js文件 29
2.4.2 JavaScript运用实例 29
实例2-9 实现图片动态变化效果 29
实例2-10 实现一个简易时钟 30
2.5 jQuery 31
2.5.1 jQuery基础语法 32
2.5.2 jQuery运用实例 33
实例2-11 利用jQuery管理XHTML元素 33
实例2-12 利用jQuery实现一个时间数据来源于服务器端的时钟 34
2.6 .xml文件和XML常识 36
实例2-13 表达一个XML格式的早餐菜单 36
2.7 Web.config 37
2.8 Global.asax 37
2.9 Bootstrap 38
实例2-14 利用Bootstrap设计表单 38
2.10 小结 40
2.11 习题 40
第3章 C#和ASP.NET的结合 43
3.1 C#概述 43
3.2 .NET Framework命名空间 43
3.3 编程规范 44
3.3.1 程序注释 44
3.3.2 命名规则 44
3.4 常量与变量 45
3.4.1 常量声明 45
3.4.2 变量声明 46
3.4.3 修饰符 46
3.4.4 局部变量作用范围 46
3.5 数据类型 47
3.5.1 值类型 47
实例3-1 运用枚举类型变量 48
3.5.2 引用类型 49
3.5.3 装箱和拆箱 50
3.6 运算符 51
3.7 流程控制 52
3.7.1 选择结构 52
实例3-2 运用switch语句 53
3.7.2 循环结构 54
实例3-3 运用while语句 54
实例3-4 运用for语句 56
实例3-5 运用foreach语句 57
3.7.3 异常处理 57
实例3-6 运用throw语句 58
实例3-7 运用try…catch…finally结构 59
3.8 自定义ASP.NET类 60
3.8.1 类的常识 61
3.8.2 属性 61
实例3-8 定义Account类的属性 61
3.8.3 构造函数 62
实例3-9 定义Account类的构造函数 62
3.8.4 方法 63
实例3-10 定义Account类的存款和取款方法 63
实例3-11 结合Account类和ASP.NET页面 64
3.8.5 事件 65
实例3-12 在AccountEvent类中增加账户金额不足事件并运用事件 65
3.8.6 继承 67
实例3-13 实现继承类 67
3.9 ASP.NET页面调试 67
3.10 小结 68
3.11 习题 69
第4章 ASP.NET标准控件 71
4.1 ASP.NET页面事件处理概述 71
4.1.1 ASP.NET页面事件 71
4.1.2 IsPostBack属性 71
实例4-1 运用IsPostBack属性 72
4.2 ASP.NET服务器控件概述 73
4.2.1 HTML服务器控件简介 73
4.2.2 Web服务器控件简介 73
4.3 常用ASP.NET标准控件 73
4.3.1 Label控件 74
实例4-2 通过键盘快捷键激活特定文本框 74
4.3.2 TextBox控件 75
实例4-3 综合运用TextBox控件 75
4.3.3 Button、LinkButton和ImageButton控件 77
实例4-4 利用Button控件执行客户端脚本 77
4.3.4 DropDownList控件 78
实例4-5 实现联动的下拉列表 79
4.3.5 ListBox控件 81
实例4-6 实现数据项在ListBox控件之间的移动 82
4.3.6 CheckBox和CheckBoxList控件 83
实例4-7 运用CheckBoxList控件 83
4.3.7 RadioButton和RadioButtonList控件 84
4.3.8 Image和ImageMap控件 85
实例4-8 利用ImageMap控件设计导航栏 86
4.3.9 HyperLink控件 86
实例4-9 组合使用HyperLink和Image控件 87
4.3.10 Table控件 87
实例4-10 动态生成表格 87
4.3.11 Panel和PlaceHolder控件 89
实例4-11 利用Panel实现简易注册页面 89
实例4-12 利用PlaceHolder动态添加控件 91
4.4 小结 92
4.5 习题 93
第5章 ASP.NET窗体验证 95
5.1 窗体验证概述 95
5.2 ASP.NET服务器验证控件 96
5.2.1 RequiredFieldValidator控件 96
实例5-1 禁止空数据且同时要改变初始值 97
5.2.2 CompareValidator控件 98
实例5-2 运用CompareValidator控件 98
5.2.3 RangeValidator控件 99
实例5-3 运用RangeValidator控件 99
5.2.4 RegularExpressionValidator控件 100
实例5-4 验证电子邮件地址 101
5.2.5 CustomValidator控件 102
实例5-5 验证必须输入一个偶数 102
5.2.6 ValidationSummary控件 105
实例5-6 综合运用验证控件 105
5.3 小结 108
5.4 习题 108
第6章 HTTP请求、响应及状态管理 110
6.1 HTTP请求 110
实例6-1 利用QueryString在页面间传递数据信息 110
实例6-2 利用ServerVariables和Browser返回服务器端和客户端信息 112
6.2 HTTP响应 113
实例6-3 利用Write()方法输出XHTML文本 113
实例6-4 利用Redirect()方法重定向页面 114
6.3 HttpServerUtility 115
实例6-5 运用HttpServerUtility对象 116
6.4 跨页面提交 117
实例6-6 运用跨页面提交技术 117
6.5 状态管理 119
6.5.1 ViewState 119
6.5.2 HiddenField控件 120
6.5.3 Cookie 120
实例6-7 利用Cookie限制页面访问 121
6.5.4 Session 123
实例6-8 利用Session限制页面访问 124
6.5.5 Application 126
实例6-9 统计网站在线人数 126
6.6 小结 127
6.7 习题 128
第7章 数据访问 130
7.1 数据访问概述 130
7.2 建立SQL Server 2016 Express数据库 131
7.3 使用数据源控件实现数据访问 133
实例7-1 利用LinqDataSource和GridView显示表数据 133
7.4 使用LINQ实现数据访问 135
7.4.1 LINQ查询表达式 135
7.4.2 LINQ to SQL概述 136
7.4.3 利用LINQ to SQL查询数据 137
实例7-2 利用LINQ to SQL实现投影 137
实例7-3 利用LINQ to SQL实现选择 138
实例7-4 利用LINQ to SQL实现排序 138
实例7-5 利用LINQ to SQL实现分组 138
实例7-6 利用LINQ to SQL实现聚合操作 139
实例7-7 利用LINQ to SQL实现直接引用对象连接 140
实例7-8 利用LINQ to SQL实现join连接 140
实例7-9 利用LINQ to SQL实现模糊查询 141
7.4.4 利用LINQ to SQL管理数据 141
实例7-10 利用LINQ to SQL插入数据 141
实例7-11 利用LINQ to SQL修改数据 142
实例7-12 利用LINQ to SQL删除数据 142
实例7-13 利用LINQ to SQL调用存储过程 143
7.4.5 LINQ to XML概述 143
7.4.6 利用LINQ to XML管理XML文档 144
实例7-14 利用LINQ to XML创建XML文档 144
实例7-15 利用LINQ to XML查询指定属性的元素 145
实例7-16 利用LINQ to XML插入元素 146
实例7-17 利用LINQ to XML修改元素 146
实例7-18 利用LINQ to XML删除元素 147
7.5 小结 147
7.6 习题 147
第8章 数据绑定 150
8.1 数据绑定概述 150
8.2 ListControl类控件 150
实例8-1 结合使用DropDownList和LINQ显示数据 151
实例8-2 根据选择项填充列表框内容 152
8.3 GridView控件 154
8.3.1 分页和排序 154
实例8-3 分页和排序GridView中数据 154
8.3.2 定制数据绑定列 156
实例8-4 自定义GridView数据绑定列 156
8.3.3 使用模板列 158
实例8-5 运用GridView模板列 159
8.3.4 利用GridView编辑、删除数据 162
实例8-6 为GridView中删除链接按钮添加客户端提示信息 162
实例8-7 结合GridView和独立页修改数据 164
8.3.5 显示主从表 167
实例8-8 在同一页显示主从表 167
实例8-9 在不同页显示主从表 169
8.4 DetailsView控件 172
实例8-10 结合GridView和DetailsView管理数据 172
8.5 小结 175
8.6 习题 175
第9章 ASP.NET三层架构 177
9.1 ASP.NET三层架构概述 177
9.2 搭建ASP.NET三层架构 178
实例9-1 搭建基于ASP.NET三层架构的MyPetShop 178
9.3 基于ASP.NET三层架构的用户管理 181
9.3.1 用户注册 181
实例9-2 实现MyPetShop的用户注册功能 181
9.3.2 用户登录 186
实例9-3 实现MyPetShop的用户登录功能 186
9.3.3 用户登录状态和权限 189
实例9-4 根据不同用户呈现不同的登录状态和权限 190
9.3.4 用户密码修改 192
实例9-5 修改已登录一般用户的密码 192
9.3.5 用户密码重置 195
实例9-6 重置用户密码 195
9.4 小结 201
9.5 习题 201
第10章 主题、母版和用户控件 203
10.1 主题 203
10.1.1 主题概述 203
10.1.2 自定义主题 203
10.1.3 使用主题 204
实例10-1 动态切换主题 205
10.2 母版页 207
10.2.1 母版页概述 207
10.2.2 创建母版页 207
实例10-2 创建母版页 207
10.2.3 创建内容页 208
实例10-3 创建内容页 208
10.3 用户控件 209
10.3.1 用户控件概述 209
10.3.2 创建用户控件 210
10.3.3 使用用户控件 211
实例10-4 使用用户控件 212
10.4 小结 212
10.5 习题 213
第11章 网站导航 215
11.1 网站地图 215
11.1.1 网站地图文件 215
实例11-1 创建网站地图 216
11.1.2 嵌套网站地图文件 217
实例11-2 创建嵌套网站地图 217
11.2 SiteMapPath控件显示导航 218
实例11-3 利用SiteMapPath控件显示导航 218
11.3 TreeView控件显示导航 219
11.3.1 TreeView控件 219
实例11-4 运用TreeView控件 220
11.3.2 使用TreeView控件实现导航 223
实例11-5 利用TreeView控件显示导航 223
11.4 Menu控件显示导航 223
实例11-6 利用Menu控件显示导航菜单 224
11.5 在母版页中使用网站导航 224
实例11-7 实现基于母版页的网站导航 224
11.6 小结 226
11.7 习题 226
第12章 ASP.NET Ajax 228
12.1 Ajax基础 228
12.1.1 Ajax概述 228
12.1.2 ASP.NET Ajax技术 229
12.2 ASP.NET Ajax服务器控件 229
12.2.1 ScriptManager控件 229
12.2.2 UpdatePanel控件 231
实例12-1 使用内部按钮刷新UpdatePanel控件 232
实例12-2 使用外部按钮刷新UpdatePanel控件 233
实例12-3 在同一个页面中使用多个UpdatePanel控件 235
12.2.3 Timer控件 236
实例12-4 运用Timer控件 237
12.2.4 UpdateProgress控件 239
实例12-5 运用UpdateProgress控件 239
12.3 AjaxControlToolkit程序包 241
实例12-6 运用CalendarExtender控件 243
实例12-7 运用PasswordStrength控件 244
12.4 小结 246
12.5 习题 246
第13章 Web服务和WCF服务 248
13.1 Web服务 248
13.1.1 Web服务概述 248
13.1.2 建立ASP.NET Web服务 249
实例13-1 建立ASP.NET Web服务 249
13.1.3 调用ASP.NET Web服务 251
实例13-2 调用ASP.NET Web服务 252
实例13-3 运用基于Web服务的AutoCompleteExtender控件 253
13.2 WCF服务 256
13.2.1 建立WCF服务 257
实例13-4 建立WCF服务 257
13.2.2 调用WCF服务 259
实例13-5 调用WCF服务 259
13.3 小结 261
13.4 习题 261
第14章 文件处理 263
14.1 驱动器、文件夹和文件操作 263
14.1.1 获取驱动器信息 263
实例14-1 显示Web服务器上所有驱动器的信息 263
14.1.2 文件夹操作 265
实例14-2 计算指定文件夹的大小 266
14.1.3 文件操作 269
实例14-3 文件的创建、复制、删除和移动操作 270
14.2 读写文件 273
14.2.1 Stream类 273
实例14-4 利用FileStream类读写文件 275
14.2.2 Reader和Writer类 278
实例14-5 利用StreamReader和StreamWriter读写文本文件 279
实例14-6 利用BinaryReader和BinaryWriter读写二进制数据文件 280
14.3 文件上传 282
实例14-7 利用FileUpload实现文件上传 282
14.4 小结 284
14.5 习题 284
第15章 MyPetShop应用程序 286
15.1 系统总体设计和开发思路 286
15.1.1 系统功能模块设计 286
15.1.2 用户控件设计 287
15.1.3 系统数据库总体设计 288
15.1.4 Web.config配置文件 288
15.1.5 基于VSC 2017开发MyPetShop应用程序的总体思路 289
15.2 MyPetShop.mdf数据库设计 290
15.2.1 数据表设计 290
15.2.2 数据表联系设计 292
15.3 用户控件设计 293
15.3.1 热销商品自动定时刷新用户控件 293
15.3.2 商品分类列表用户控件 293
15.3.3 最新商品列表用户控件 293
15.3.4 商品分类及商品导航用户控件 293
15.3.5 网站导航用户控件 294
15.3.6 用户状态用户控件 294
15.3.7 天气预报用户控件 294
15.4 前台显示页面设计 295
15.4.1 母版页 295
15.4.2 首页 295
15.4.3 商品详细信息页面 296
15.4.4 商品搜索页面 297
15.5 用户注册和登录模块设计 298
15.5.1 注册新用户 298
15.5.2 用户登录 298
15.5.3 修改用户密码 299
15.5.4 找回用户密码 299
15.5.5 退出系统 300
15.6 购物车模块设计 300
15.6.1 购物车存储设计与实现 300
15.6.2 购物车页面设计 300
15.6.3 购物车功能的设计与实现 301
15.7 订单处理模块设计 301
15.7.1 创建订单 302
15.7.2 查看订单 302
15.8 后台管理模块设计 303
15.8.1 商品分类管理 303
15.8.2 供应商信息管理 303
15.8.3 商品信息管理 304
15.8.4 订单管理 305
15.9 小结 307
15.10 习题 307