第1章 XML操作... 1
1.1 XML概述... 1
1.1.1 什么是XML. 1
1.1.2 XML与HTML的比较... 2
1.1.3 XML技术的用途... 3
1.2 XML文档结构... 3
1.3 XML语法... 3
1.3.1 文档声明... 3
1.3.2 XML元素... 4
1.3.3 XML属性... 4
1.3.4 注释... 5
1.3.5 特殊字符的处理... 5
1.3.6 CDATA区... 6
1.4 ASP.NET中XML操作... 7
1.4.1 使用Visual Studio直接创建XML文档... 7
1.4.2 以非缓存的流方式操作XML. 9
1.4.3 以XML文档对象模型(DOM)类的方式操作XML. 13
1.4.4 DataSet与XML之间的互操作... 27
1.5 网站RSS应用... 33
1.5.1 什么是RSS. 33
1.5.2 RSS的工作过程... 33
1.5.3 RSS文档的实例... 34
1.5.4 RSS文档网站应用实例... 35
1.5.5 在线RSS阅读器的实现... 39
1.6 小结... 42
1.7 习题... 43
1.8 上机实践... 44
第2章 AJAX开发... 45
2.1 AJAX概述... 45
2.1.1 什么是AJAX 技术... 45
2.1.2 AJAX的优势与局限性... 46
2.1.3 AJAX的适用范围... 47
2.2 用JavaScript脚本演绎AJAX工作原理... 48
2.2.1 AJAX的运行原理... 48
2.2.2 一个简单示例... 48
2.3 第三方AJAX框架... 52
2.4 jQuery框架下AJAX开发... 53
2.5 ASP.NET AJAX服务器控件... 55
2.5.1 ScriptManager控件... 55
2.5.2 ScriptManagerProxy控件... 59
2.5.3 UpdatePanel控件... 62
2.5.4 UpdateProgress控件... 66
2.5.5 Timer控件... 68
2.6 AJAX Control Toolkit的使用... 70
2.6.1 如何使用AJAX Control Toolkit 70
2.6.2 日期选取(CalendarExtender控件)... 72
2.6.3 密码强度检测(PasswordStrength控件)... 73
2.6.4 文本框自动完成输入(AutoCompleteExtender控件)... 74
2.6.5 级联下拉列表(CascadingDropDown控件)... 76
2.7 小结... 80
2.8 习题... 81
2.8.1 作业题... 81
2.8.2 思考题... 81
2.9 上机实践... 81
第3章 LINQ技术... 82
3.1 LINQ基础... 82
3.1.1 LINQ的引入... 82
3.1.2 Lambda表达式... 83
3.1.3 LINQ函数... 84
3.1.4 LINQ分类... 84
3.2 LINQ to Objects 85
3.2.1 LINQ查询数据... 85
3.2.2 LINQ实现登录功能... 87
3.2.3 LINQ实现销售单查询... 89
3.3 LINQ to SQL. 93
3.3.1 LINQ查询数据库表数据... 96
3.3.2 使用LINQ向数据库插入数据... 98
3.3.3 LINQ修改数据库中的数据... 102
3.3.4 LINQ删除数据库中的数据... 106
3.4 LINQ to XML. 109
3.4.1 LINQ读取XML文件... 109
3.4.2 LINQ查询XML元素... 110
3.4.3 LINQ添加元素到XML. 112
3.4.4 LINQ修改XML元素... 113
3.5 LINQ to DataSet 115
3.5.1 LINQ查询DataSet数据... 115
3.5.2 LINQ排序DataSet中数据... 117
3.5.3 LINQ提取DataSet中数据... 120
3.6 小结... 123
3.7 习题... 123
3.7.1 作业题... 123
3.7.2 思考题... 124
3.8 上机实践... 124
第4章 数据库高级应用... 126
4.1 数据库建模——PowerDesigner 126
4.1.1 需求模型... 127
4.1.2 业务流程模型... 128
4.1.3 概念数据模型... 131
4.1.4 逻辑数据模型... 136
4.1.5 物理数据模型... 138
4.1.6 由物理数据模型生成数据库... 140
4.2 复杂查询... 141
4.3 存储过程... 144
4.4 触发器... 150
4.5 函数... 155
4.6 数据库级的错误跟踪与调试... 160
4.7 小结... 162
4.8 习题... 163
4.9 上机实践... 163
第5章 一致性处理... 164
5.1 一致的页面管理... 164
5.1.1 母版页概述... 164
5.1.2 创建母版与内容页... 164
5.1.3 母版页的嵌套与动态访问... 166
5.1.4 母版页的应用范围与缓存... 172
5.2 菜单操作... 174
5.3 一致的数据处理... 184
5.3.1 CRUD操作... 184
5.3.2 分页... 192
5.3.3 联想查询... 195
5.3.4 导出Excel 202
5.4 小结... 204
5.5 习题... 204
5.5.1 作业题... 204
5.5.2 思考题... 206
5.6 上机实践... 206
第6章 分布式应用开发... 207
6.1 分布式简介... 207
6.2 Web Service. 208
6.2.1 Web Service介绍... 208
6.2.2 Web Service服务器端开发... 209
6.2.3 Web Service的部署... 213
6.2.4 Web Service客户端开发... 213
6.2.5 异步调用Web Service. 217
6.3 WCF开发... 218
6.3.1 WCF服务契约... 218
6.3.2 发布和运行WCF服务... 221
6.3.3 建立客户端访问WCF程序... 222
6.3.4 运行程序... 224
6.4 小结... 225
6.5 习题... 225
6.5.1 作业题... 225
6.5.2 思考题... 225
6.6 上机实践... 225
第7章 ASP.NET安全性编程... 226
7.1 SQL注入漏洞... 226
7.1.1 SQL注入漏洞示例... 226
7.1.2 SQL注入漏洞原理... 229
7.1.3 SQL注入漏洞的防范... 230
7.1.4 含有通配符的SQL注入攻击... 232
7.1.5 非查询语句的SQL注入... 236
7.2 XSS漏洞... 239
7.2.1 XSS攻击示例... 239
7.2.2 XSS攻击的防范... 242
7.3 Cookie窃取漏洞... 243
7.3.1 Cookie名字的由来... 243
7.3.2 Cookie窃取漏洞实例... 243
7.3.3 编码输出函数... 244
7.3.4 HttpOnly. 245
7.4 小结... 246
7.5 习题... 246
7.5.1 作业题... 246
7.5.2 思考题... 247
7.6 上机实践... 247
第8章 ASP.NET中的三层架构... 248
8.1 SqlHelper 248
8.1.1 SqlHelper类的实现... 248
8.1.2 SqlHelper类的使用... 250
8.2 三层架构... 252
8.2.1 三层架构及其应用... 252
8.2.2 三层架构的优缺点... 260
8.3 三层架构中的其他成员... 261
8.3.1 业务实体... 261
8.3.2 通用类库(Common)... 262
8.3.3 DBUtility. 263
8.4 基于抽象工厂模式的三层架构... 263
8.5 三层架构的扩充... 267
8.6 小结... 268
8.7 习题... 268
8.7.1 作业题... 268
8.7.2 思考题... 269
8.8 上机实践... 269
第9章 ASP.NET MVC框架... 270
9.1 Web Forms模式... 270
9.2 MVC模式... 271
9.3 控制器(Controller)... 274
9.3.1 动作... 274
9.3.2 动作的返回值... 276
9.3.3 新建控制器和动作... 276
9.4 路由(Routing)... 280
9.5 Razor视图引擎... 281
9.6 模型... 283
9.7 Controller与View的数据传递... 285
9.7.1 ViewBag. 285
9.7.2 强类型视图... 286
9.8 数据库查找和添加实例... 286
9.9 HtmlHelper 289
9.9.1 ActionLink——超链接... 290
9.9.2 BeginForm——窗体... 290
9.9.3 TextBox——文本框... 290
9.10 数据库删除和修改实例... 290
9.11 小结... 295
9.12 习题... 295
9.12.1 作业题... 295
9.12.2 思考题... 295
9.13 上机实践... 296
第10章 GDI . 297
10.1 GDI 绘图... 297
10.1.1 DrawLine绘制直线... 297
10.1.2 DrawPolygon. 298
10.1.3 DrawString. 299
10.1.4 在图片中添加文字... 300
10.2 验证码技术... 304
10.2.1 什么是验证码... 304
10.2.2 简易验证码... 304
10.2.3 汉字验证码... 306
10.3 Chart控件... 308
10.3.1 Chart控件简单示例... 308
10.3.2 数据库与Chart控件的绑定... 311
10.3.3 饼形图的绘制... 315
10.4 小结... 317
10.5 习题... 317
10.5.1 作业题... 317
10.5.2 思考题... 317
10.6 上机实践... 317
第11章 水晶报表Crystal Reprorts for VS. 319
11.1 水晶报表简介... 319
11.1.1 水晶报表的下载与安装... 319
11.1.2 实现一个带有水晶报表的Web页面... 320
11.2 编辑报表... 326
11.2.1 字段... 326
11.2.2 文本对象、线条对象、框对象... 326
11.2.3 组... 326
11.2.4 公式... 327
11.2.5 参数... 331
11.2.6 排序和汇总... 334
11.3 格式化报表... 336
11.3.1 报表节... 336
11.3.2 页面设置... 337
11.3.3 格式编辑器... 337
11.4 交叉报表... 339
11.4.1 创建交叉报表... 339
11.4.2 交叉报表专家... 344
11.5 小结... 351
11.6 习题... 351
11.6.1 作业题... 351
11.6.2 思考题... 351
11.7 上机实践... 351
第12章 实现物联网关键技术... 353
12.1 在ASP.NET页面中读写RFID标签... 353
12.1.1 ASP.NET页面实现读卡操作... 354
12.1.2 ASP.NET页面实现写卡操作... 360
12.2 在页面中使用条码... 365
12.2.1 一维条码与二维条码基本理论... 366
12.2.2 常用一维条形码... 368
12.2.3 QR Code二维码... 369
12.2.4 在ASP.NET页面中使用条码... 370
12.3 Web套打... 378
12.4 小结... 390
12.5 习题... 390
12.6 上机实践... 390
第13章 调试、发布与优化... 392
13.1 调试错误与跟踪处理... 392
13.1.1 页面级... 392
13.1.2 应用程序级... 393
13.2 网站发布... 393
13.2.1 IIS 8.0管理器配置... 394
13.2.2 ASP.NET网站发布与部署... 398
13.2.3 应用程序和虚拟目录... 402
13.2.4 DNS转换... 405
13.3 高效编码优化... 409
13.4 小结... 412
13.5 习题... 412
13.5.1 作业题... 412
13.5.2 思考题... 412
13.6 上机实践... 412
第14章 开发综合实例... 413
14.1 开发背景... 413
14.2 需求分析... 413
14.3 系统设计... 414
14.3.1 功能设计... 414
14.3.2 系统结构设计... 418
14.3.3 系统数据库的设计... 419
14.4 系统实现... 421
14.4.1 开发环境介绍... 421
14.4.2 系统中使用的存储过程介绍... 421
14.4.3 Models实体类的实现... 423
14.4.4 SqlHelper类的实现... 427
14.4.5 DAL数据访问层的实现... 431
14.4.6 BLL业务逻辑层的实现... 437
14.4.7 表示层的实现... 440
14.4.8 三层架构之间相互引用的实现... 446
14.4.9 功能模块的实现... 447
14.5 小结... 462
附录 HTML特殊字符编码对照表... 463
参考文献..................................................................................................................... 465