第1章 ASP.NET运行及开发环境 1
1.1ASP.NET概述 1
1.1.1静态页面和动态页面 1
1.1.2.NET Framework 1
1.1.3ASP.NET特性 2
1.1.4ASP.NET的开发模式 2
1.2IIS 3
1.2.1IIS7.5的安装 3
1.2.2IIS7.5中的网站、Web应用程序和虚拟目录 4
1.2.3IIS Express 7
1.3Visual Studio Communi2017 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.2CSS3样式位置 24
实例2-4运用页面样式 25
实例2-5运用外部样式表 26
2.4.js文件和JavaScript常识 27
2.4.1JavaScript代码位置 27
实例2-6熟悉〈head〉元素中的JavaScript代码 27
实例2-7熟悉〈body〉元素中的JavaScript代码 28
实例2-8运用独立的.js文件 29
2.4.2JavaScript运用实例 29
实例2-9实现图片动态变化效果 29
实例2-10实现一个简易时钟 30
2.5jQuery 31
2.5.1jQuery基础语法 32
2.5.2jQuery运用实例 33
实例2-11利用jQuery管理XHTML元素 33
实例2-12利用jQuery实现一个时间数据来源于服务器端的时钟 34
2.6.xml文件和XML常识 36
实例2-13表达一个XML格式的早餐菜单 36
2.7Web.config 37
2.8Global.asax 37
2.9Bootstrap 38
实例2-14利用Bootstrap设计表单 38
2.10小结 40
2.11习题 40
第3章 C#和ASP.NET的结合 43
3.1C#概述 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…catc…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.9ASP.NET页面调试 67
3.10小结 68
3.11习题 69
第4章 ASP.NET标准控件 71
4.1ASP.NET页面事件处理概述 71
4.1.1ASP.NET页面事件 71
4.1.2IsPostBack属性 71
实例4-1运用IsPostBack属性 72
4.2ASP.NET服务器控件概述 73
4.2.1HTML服务器控件简介 73
4.2.2Web服务器控件简介 73
4.3常用ASP.NET标准控件 73
4.3.1Label控件 74
实例4-2通过键盘快捷键激活特定文本框 74
4.3.2TextBox控件 75
实例4-3综合运用TextBox控件 75
4.3.3Button、LinkButton和ImageButton控件 77
实例4-4利用Button控件执行客户端脚本 77
4.3.4DropDownList控件 78
实例4-5实现联动的下拉列表 79
4.3.5ListBox控件 81
实例4-6实现数据项在ListBox控件之间的移动 82
4.3.6CheckBox和CheckBoxList控件 83
实例4-7运用CheckBoxList控件 83
4.3.7RadioButton和RadioButtonList控件 84
4.3.8Image和ImageMap控件 85
实例4-8利用ImageMap控件设计导航栏 86
4.3.9HyperLink控件 86
实例4-9组合使用HyperLink和Image控件 87
4.3.10Table控件 87
实例4-10动态生成表格 87
4.3.11Panel和PlaceHolder控件 89
实例4-11利用Panel实现简易注册页面 89
实例4-12利用PlaceHolder动态添加控件 91
4.4小结 92
4.5习题 93
第5章 ASP.NET窗体验证 95
5.1窗体验证概述 95
5.2ASP.NET服务器验证控件 96
5.2.1RequiredFieldValidator控件 96
实例5-1禁止空数据且同时要改变初始值 97
5.2.2CompareValidator控件 98
实例5-2运用CompareValidator控件 98
5.2.3RangeValidator控件 99
实例5-3运用RangeValidator控件 99
5.2.4RegularExpressionValidator控件 100
实例5-4验证电子邮件地址 101
5.2.5CustomValidator控件 102
实例5-5验证必须输入一个偶数 102
5.2.6ValidationSummary控件 105
实例5-6综合运用验证控件 105
5.3小结 108
5.4习题 108
第6章 HTTP请求、响应及状态管理 110
6.1HTTP请求 110
实例6-1利用QueryString在页面间传递数据信息 110
实例6-2利用ServerVariables和Browser返回服务器端和客户端信息 112
6.2HTTP响应 113
实例6-3利用Write()方法输出XHTML文本 113
实例6-4利用Redirect()方法重定向页面 114
6.3HttpServerUtility 115
实例6-5运用HttpServerUtility对象 116
6.4跨页面提交 117
实例6-6运用跨页面提交技术 117
6.5状态管理 119
6.5.1ViewState 119
6.5.2HiddenField控件 120
6.5.3Cookie 120
实例6-7利用Cookie限制页面访问 121
6.5.4Session 123
实例6-8利用Session限制页面访问 124
6.5.5Application 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.1LINQ查询表达式 135
7.4.2LINQ 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.5LINQ 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.2ListControl类控件 150
实例8-1结合使用DropDownList和LINQ显示数据 151
实例8-2根据选择项填充列表框内容 152
8.3GridView控件 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.4DetailsView控件 172
实例8-10结合GridView和DetailsView管理数据 172
8.5小结 175
8.6习题 175
第9章 ASP.NET三层架构 177
9.1ASP.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.2SiteMapPath控件显示导航 218
实例11-3利用SiteMapPath控件显示导航 218
11.3TreeView控件显示导航 219
11.3.1TreeView控件 219
实例11-4运用TreeView控件 220
11.3.2使用TreeView控件实现导航 223
实例11-5利用TreeView控件显示导航 223
11.4Menu控件显示导航 223
实例11-6利用Menu控件显示导航菜单 224
11.5在母版页中使用网站导航 224
实例11-7实现基于母版页的网站导航 224
11.6小结 226
11.7习题 226
第12章 ASP.NET Ajax 228
12.1Ajax基础 228
12.1.1Ajax概述 228
12.1.2ASP.NETAjax技术 229
12.2ASP.NETAjax服务器控件 229
12.2.1ScriptManager控件 229
12.2.2UpdatePanel控件 231
实例12-1使用内部按钮刷新UpdatePanel控件 232
实例12-2使用外部按钮刷新UpdatePanel控件 233
实例12-3在同一个页面中使用多个UpdatePanel控件 235
12.2.3Timer控件 236
实例12-4运用Timer控件 237
12.2.4UpdateProgress控件 239
实例12-5运用UpdateProgress控件 239
12.3AjaxControlToolkit程序包 241
实例12-6运用CalendarExtender控件 243
实例12-7运用PasswordStrength控件 244
12.4小结 246
12.5习题 246
第13章 Web服务和WCF服务 248
13.1Web服务 248
13.1.1Web服务概述 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.2WCF服务 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.1Stream类 273
实例14-4利用FileStream类读写文件 275
14.2.2Reader和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.4Web.config配置文件 288
15.1.5基于VSC2017开发MyPetShop应用程序的总体思路 289
15.2MyPetShop.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