Chapter 01 开门见山:从实战开始学起 1
1-1实际创建一个Web项目与数据库访问网页 2
1-2 ASP.NET3.5的主要组成架构 13
1-2-1网页与控件架构 13
1-2-2 ASP.NET编译器 14
1-2-3安全性基础架构 14
1-2-4完善的状态管理功能 14
1-2-5应用程序配置设置 14
1-2-6 健全状况监视与性能机制 15
1-2-7调试机制 15
1-2-8 XML Web服务架构 15
1-2-9可扩展的主机服务与应用程序生命周期管理 15
1-2-10可扩展的设计工具环境 15
1-3 ASP.NET3.5新功能概述 15
1-3-1全新的ListView控件 16
1-3-2全新的DataPager控件 19
1-3-3全新的LinqDataSource控件 19
1-3-4全方位的AJAX开发能力 24
1-3-5超好用的JavaScript IntelliSense功能 25
1-3-6 ASP.NET合并工具 26
1-3-7完美整合IIS 7.0 26
1-3-8全新的CSS设计工具 26
1-3-9功能更完善的Web应用程序项目 27
1-3-10多重目标架构的Web应用程序 28
1-3-11创建与使用WCF服务 28
1-4什么是.NETFramework 3.5 29
1-5 ASP.NET3.5平台的系统需求 29
结语 30
Chapter 02 ASP.NET应用程序的灵魂:ASP.NET网页 31
2-1实现一个ASP.NET网页 32
2-2 ASP.NET网页的功能特性 35
2-3 ASP.NET网页能够完成哪些操作 36
2-4 ASP.NET网页的代码模型 37
2-4-1单一文件网页模型 38
2-4-2代码隐藏网页模型 39
2-4-3该选用哪一种网页模型 41
2-4-4编译与部署 41
2-5探讨 ASP.NET的Page类 41
2-5-1单一文件网页 42
2-5-2代码隐藏网页 43
2-6 ASP.NET网页的运行模式 43
2-6-1往返 43
2-6-2重建网页 45
2-6-3基于事件的模型与线性处理模型 45
2-7 ASP.NET网页的生命周期阶段 46
2-8 ASP.NET网页的生命周期事件 47
|网页范例1示范如何利用Prelnit事件动态设置网页的主题 48
|网页范例2示范如何使用网页事件Load与PreRender 50
2-9 ASP.NET网页生命周期的其他考虑 53
|网页范例3示范如何动态设置网页的区域信息 53
2-10 ASP.NET服务器控件事件模型 55
2-10-1服务器控件与网页的事件集 56
|网页范例4示范如何使用CheckBox控件的CheckedChanged事件 57
2-10-2事件参数 59
|网页范例5示范如何使用ImageCIickEventArgs类型参数 59
2-10-3服务器控件中的回发与非回发事件 60
|网页范例6示范如何为网页动态应用样式表文件 60
2-10-4冒泡事件 63
2-10-5事件委托与AutoEventWireup属性 63
2-10-6应用程序事件与会话事件 63
2-11如何创建事件处理例程 64
2-12如何在运行时绑定事件处理例程 66
2-13如何将多个事件绑定到同一个事件处理例程 66
2-14如何判断是哪一个服务器控件触发了事件 67
|网页范例7示范如何判断触发事件的服务器控件 67
2-15服务器控件如何响应客户端事件 69
2-15-1活用OnCIientClick属性 69
|网页范例8示范如何使用OnCIientClick属性来打开网站 70
|网页范例9示范如何使用OnCIientClick属性进行删除确认 71
|网页范例10示范如何在GridView控件中进行删除确认 72
2-15-2客户端属性 73
|网页范例11通过客户端属性来制作鼠标移入与移出效果 74
|网页范例12示范如何动态创建客户端属性来处理客户端事件 75
结语 76
Chapter 03 万丈高楼平地起:ASP.NET网页的重要语法和技巧 77
3-1怎样用好Web应用程序根运算符~ 78
3-2程序代码块语法 78
|网页范例1示范怎样使用程序代码块语法 79
3-3服务器端批注语法 80
3-4服务器端#Include指示符语法 81
|网页范例2示范怎样使用#Include来插入页眉和页脚 81
|网页范例3示范怎样使用包含文件来提高设计效率 82
3-5表达式语法<%?...% > 83
3-5-1使用<%?...%>取得连接字符串 83
|网页范例4示范使用<%?...%>取得连接字符串 84
3-5-2使用<%?...%>取得应用程序设置 85
|网页范例5示范使用<%?...%>取得应用程序设置 85
3-5-3使用<%?...%>取得资源文件设置 86
|网页范例6示范使用<%?...%>取得资源文件设置 86
3-6怎样在网页中检测浏览器的类型和版本 89
|网页范例7示范如何检测浏览器或客户端设备的相关信息 89
|网页范例8根据浏览器的类型和版本为网页应用不同的CSS样式表文件 90
3-7重定向网页方法一:超级链接 92
3-8重定向网页方法二:Response.Redirect方法 93
|网页范例9示范怎样根据用户计算机的区域语言设置来重定向网页 93
3-9重定向网页方法三:ServerTransfer方法 94
3-10重定向网页方法四:跨网页传送——PostBackUrl属性 95
3-11重定向网页方法比较表 96
3-12网页之间怎样使用查询字符串传递数据 97
|网页范例10示范如何使用查询字符串在各网页之间传递数据 98
3-13 Server.Transfer方法的数据传递方式 99
|网页范例11示范使用Server.Transfer方法时,怎样在目标网页上读取源网页的控件和公有属性的值 100
3-14跨网页传送的数据传递方式 103
3-14-1源网页和目标网页位于相同的Web应用程序中 103
|网页范例12使用PreviousPage属性和@PreviousPageType指示符来读取源网页的控件和公有属性值 104
|网页范例13使用PreviousPage属性和@Reference指示符来读取源网页的控件和公有属性值 110
3-14-2源网页和目标网页位于不同的Web应用程序中 111
|网页范例14示范不同Web应用程序中网页的跨网页传送 112
3-15判断网页是怎样被调用的 113
|网页范例15示范如何判断网页是怎样被调用的 115
3-16怎样设置网页的默认焦点控件和默认按钮 116
|网页范例16示范使用默认焦点控件和默认按钮创建快速搜索界面 117
3-17认识网页指示符 119
3-18让网页倒数几秒后自动重定向到其他网页 120
|网页范例17示范倒数3秒后自动重定向到特定网页 120
|网页范例18示范如何以程序控制方式为网页添加meta标记 121
结语 122
Chapter 04 界面设计前传:ASP.NET服务器控件的基本概念 123
4-1 ASP.NET服务器控件的类型 124
4-2使用建议 130
4-3浏览器功能所影响的方面 131
4-3-1 ASP.NET怎样自动检测浏览器类型 131
4-3-2改写浏览器类型检测 131
4-3-3关于AJAX功能 132
4-3-4客户端脚本 132
4-3-5使用早期版本的浏览器 132
4-4如何将服务器控件添加到ASP.NET网页 134
4-5以程序控制方式将服务器控件添加到ASP.NET网页 136
|网页范例1示范如何动态添加服务器控件 136
4-6在设计阶段设置服务器控件的属性 138
4-7以程序控制方式设置服务器控件的属性 138
4-7-1动态使用常数值设置属性 138
|网页范例2示范如何使用常数值动态设置属性 139
4-7-2动态使用枚举类型设置属性 139
|网页范例3示范如何使用枚举类型动态设置属性 139
4-7-3动态设置单位属性 139
|网页范例4动态设置服务器控件的大小和单位 140
4-7-4动态设置颜色属性 142
4-7-5动态设置集合中的控件属性 143
|网页范例5示范怎样为ListBox服务器控件动态添加选项 143
4-7-6使用Style对象动态应用样式 144
|网页范例6使用Style对象一次动态应用多种样式到多个服务器控件 144
|网页范例7根据用户所选择的样式来构建Style对象并应用到服务器控件 146
4-8以程序控制方式设置HTML服务器控件的属性 146
|网页范例8示范如何使用Attributes集合取得HTML服务器控件的属性设置 146
4-9服务器控件和样式表 147
4-9-1解释外观属性 147
4-9-2控件样式对象 148
4-9-3样式对象的优先级和继承 148
4-9-4直接控制CSS样式和类型 149
|网页范例9示范如何使用CssClass属性为服务器控件应用样式类 149
4-9-5怎样设置样式属性 151
|网页范例10示范如何使用CopyFrom和MergeWith方法来应用样式 153
结语 154
Chapter 05 网页的基本元素:探讨基础的ASP.NET服务器控件 155
5-1 Label服务器控件 156
|网页范例1将用户所提供的数据编码后赋给Label服务器控件 156
5-2 Literal服务器控件 157
|网页范例2将用户所提供的数据编码后赋给Literal服务器控件 158
5-3Text B ox服务器控件 159
5-3-1访问数据值 159
5-3-2善用TextMode属性 160
5-3-3限制输入的字符数 160
5-3-4是否为只读 160
5-3-5是否自动回发 161
5-3-6TextChanged事件 161
5-3-7设置快捷键 161
|网页范例3结合文本框和数据绑定技巧的快速查询界面 161
|网页范例4TextChanged事件使用示范 162
5-4 CheckBox服务器控件 163
|网页范例5示范怎样使用复选框的InputAttributes和LabelAttributes属性 164
5-5 RadioButton服务器控件 168
|网页范例6示范如何使用RadioButton控件制作单选界面 168
5-6 Button服务器控件 170
|网页范例7示范如何使用Button服务器控件来触发查询操作 171
|网页范例8示范怎样使用命令按钮 172
|网页范例9示范怎样使用命令按钮来动态设置SqlDataSource控件的查询语句 174
|网页范例10示范如何为按钮添加鼠标移入和移出的变化效果 175
5-7 ImageButton服务器控件 175
|网页范例11 ImageButton服务器控件坐标检测示范 176
|网页范例12鼠标指针移到ImageButton上方时的样式变换 177
5-8 LinkButton服务器控件 177
5-9 HyperLink服务器控件 177
|网页范例13示范通过HyperLink控件动态创建项目中的网页列表 178
5-10 Image服务器控件 180
|网页范例14结合HyperLink和Image服务器控件制作一个简单的相册 180
5-11 Calendar服务器控件 183
|网页范例15制作一个简单的日历界面 183
5-11-1自定义日历的样式外观 184
5-11-2自定义日期选择模式 186
|网页范例16 Calendar服务器控件的日期选择示范 187
|网页范例17示范如何以程序控制方式选择多个日期 190
|网页范例18示范使用SelectRange方法选择指定的日期范围 191
5-11-3控制月份导航 192
|网页范例19示范怎样快速导航到某年某月 193
5-11-4自定义个别日期——重要!! 194
|网页范例20示范如何将自定义内容添加到日期中 195
5-12 ImageMap服务器控件 199
|网页范例21示范制作一个具有矩形热点的图片地图 202
|网页范例22示范制作一个具有圆形热点的图片地图 203
|网页范例23示范制作一个具有多边形热点的图片地图 204
|网页范例24示范制作一个会触发网页回发的图片地图 205
5-13 FileUpload服务器控件 208
结语 208
Chapter 06 数据检验的利器:验证控件 209
6-1验证操作的基本逻辑和思想 210
6-2验证控件的类型 210
6-3客户端验证 211
6-3-1差异性 211
6-3-2客户端验证对象模型 212
6-3-3提交客户端验证错误 212
6-4特殊案例的验证结果 212
6-4-1空白字段 212
6-4-2检查其他控件所保存的数据 213
6-5输入数据非空验证 213
|网页范例1示范如何使用RequiredFieldValidator验证控件及其InitialValue属性——重要!! 215
6-6比较特定值验证 217
|网页范例2示范怎样综合运用RequiredFieldValidator和CompareValidator验证控件来执行验证操作 217
6-7数据类型验证 219
|网页范例3示范如何使用CompareValidator验证控件验证日期数据类型 219
6-8格式验证 221
|网页范例4示范使用RegularExpressionValidator验证控件来验证输入到文本框中的数据的格式 221
6-9数据范围验证 223
|网页范例5使用RangeValidator验证控件来检查用户输入的数据是否处于指定的范围 223
6-10进行自定义验证 225
6-10-1服务器端验证 225
|网页范例6示范使用CustomValidator验证控件比较用户输入的数据和数据库数据表中的数据 225
6-10-2客户端验证 227
|网页范例7示范如何使用CustomValidator控件进行客户端验证 228
|网页范例8示范同时使用CustomValidator控件的客户端验证和服务器端验证功能 231
|网页范例9使用CustomValidator控件的客户端验证来验证学生证号码(真实规则) 233
6-11检查验证控件的验证状态 238
6-12自定义验证错误信息的显示方式 239
|网页范例10示范使用ValidationSummary控件摘要显示验证错误信息正文和图片 241
6-13怎样禁用验证 242
|网页范例11示范怎样使用CausesValidation属性来禁用验证 242
6-14以程序控制方式验证ASP.N ET服务器控件 243
|网页范例12示范怎样使用Validate方法 244
|网页范例13示范怎样使用Validate方法(使用控件作为验证条件 245
结语 246
Chapter 07 数据访问网页不求人:探索SqlDataSource控件 247
7-1“传统”与“现代” 248
7-2数据访问网页的设计步骤 251
7-3 DataBind方法 255
7-4认识SqlDataSource控件 256
7-5 SqlDataSource控件的使用步骤 256
7-6使用存储过程来提取数据 264
|网页范例1示范SqlDataSource控件如何使用存储过程来提取数据 264
7-7使用自行编写的SELECT语句来提取数据 267
|网页范例2示范SqlDataSource控件如何使用自行编写的SELECT语句来提取数据 267
7-8如何使用控件参数 270
|网页范例3使用控件参数制作快速输入查找界面 272
|网页范例4示范使用GridView控件作为参数的控件源——重要!! 274
|网页范例5示范使用两个控件提供条件值给参数 276
|网页范例6示范SqlDataSource控件如何搭配使用SQL Server存储过程的输入参数、输出参数与返回值——重要!! 276
7-9如何使用窗体参数 280
|网页范例7示范如何结合窗体参数与GridView控件制作一个新建、修改与删除数据界面 280
7-10善用用户设置文件参数 283
|网页范例8示范结合用户设置文件参数来新建数据 283
7-11如何使用查询字符串参数 285
|网页范例9示范如何使用查询字符串参数来筛选特定客户在特定年份的订货金额 286
7-12如何使用会话参数 289
|网页范例10示范如何使用会话参数来查询本月寿星 289
7-13如何使用Cookie参数 290
|网页范例11示范使用Cookie参数筛选信息部的本月寿星 291
|网页范例12示范结合用户Cookie参数来添加数据 293
7-14如何使用Parameter对象 295
|网页范例13示范如何在运行时设置Parameter对象的值 295
7-15你不可不知的CancelSelectOnNuIIParameter属性 296
7-16数据集(DataSet)与数据读取器(DataReader) 299
7-17如何使用FiIterExpression属性筛选数据 300
|网页范例14示范使用FiIterExpression属性来筛选数据 303
|网页范例15整合使用WHERE子句与FilterExpression属性来筛选数据 305
7-18如何处理SQL命令执行错误 307
|网页范例16示范如何处理SELECT语句执行错误 308
7-19如何取消执行SqlDataSource控件的命令 309
|网页范例17示范如何取消数据选择操作 310
|网页范例18示范如何取消数据的新建与更新操作 312
|网页范例19示范使用Inserting来添加输出参数并使用Inserted事件来取得新建数据行的主键 314
7-20如何动态添加参数定义 318
|网页范例20以程序控制方式添加选择参数的定义 318
|网页范例21以程序控制方式添加输入参数、输出参数与返回值参数的定义 320
|网页范例22以程序控制方式添加INSERT语句的参数定义 323
7-21如何以程序控制方式执行SqlDataSource控件的命令 325
|网页范例23示范如何调用SqlDataSource控件的Select、Insert、Update与Delete方法 325
|网页范例24示范使用SqlDataSource控件的Select方法返回包含二进制图像数据的数据对象 331
7-22如何使用SqlDataSource控件缓存数据 336
7-22-1启用SqIDataSource控件的缓存功能 336
|网页范例25示范如何使用SqlDataSource控件缓存数据特定的时间 336
7-22-2关于CacheExpirationPolicy属性 337
结语 338
Chapter 08 数据访问最随意:探讨ObjectDataSource控件 339
8-1如何绑定到业务对象 340
|网页范例1示范将ObjectDataSource控件绑定到一个泛型集合对象 343
|网页范例2示范将ObjectDataSource控件绑定到一个数据读取器(DataReader)对象 345
|网页范例3示范将ObjectDataSource控件绑定到一个数据集(DataSet)对象 348
|网页范例4示范将Object DataSource控件绑定到一个Web服务 351
|网页范例5示范使用Object DataSource控件读取XML文件数据 354
8-2如何使用参数 357
|网页范例6示范传递参数给业务对象的Insert、Update与Delete方法 358
8-3善用不同类型的参数 366
|网页范例7示范如何使用ObjectDataSource控件的控件参数 366
8-4使用对象传递参数给新建、修改与删除数据的方法 374
|网页范例8示范如何使用对象来传递参数给新建、修改与删除数据的方法 375
8-5自定义分页机制提高数据读取性能——非常重要!! 383
8-5-1用户界面分页机制 383
|网页范例9采用用户界面分页机制来分页数据 384
8-5-2数据源分页机制——必学!! 385
|网页范例10示范实现数据源分页机制 385
|网页范例11使用SQL Server 2005的存储过程实现数据源分页机制 388
|网页范例12实现数据源分页机制的输入/输出界面 390
8-6自定义排序机制提高数据读取性能——非常重要!! 393
8-6-1用户界面排序机制 394
|网页范例13采用用户界面排序机制来排序数据 394
8-6-2数据源排序机制 396
|网页范例14示范整合使用数据源分页机制与数据源排序机制 396
|网页范例15实现数据源分页机制与数据源排序机制的输入/输出界面 399
8-7如何筛选数据 403
|网页范例16示范使用ObjectDataSource控件的FilterExpression属性 403
8-8善用ObjectDataSource控件的事件 404
|网页范例17示范如何动态添加参数并设置其值 404
|网页范例18示范如何处理方法运行时的错误 407
结语 410
Chapter 09 数据选择界面最便利:探讨列表控件 411
9-1认识列表控件 412
9-2怎样声明列表选项 413
|网页范例1示范怎样声明列表控件的选项 415
9-3以声明方式绑定到数据源 418
|网页范例2示范以声明方式将列表控件绑定至数据源 420
9-4以程序控制方式绑定到数据源 421
|网页范例3示范以程序控制方式将列表控件绑定到数据源 421
9-5怎样取得列表中被选择的选项 424
|网页范例4示范如何取得被选择选项的相关信息 424
|网页范例5结合使用列表控件和控件参数 425
9-6合并自定义选项和数据源选项——重要!! 426
9-7启用网页回发功能 428
|网页范例6示范使用列表控件的自动回发功能 428
9-8善用Items属性集合 429
|网页范例7示范怎样制作一个挑选界面 430
9-9探讨CheckBoxList控件 432
|网页范例8示范如何动态创建CheckBoxList的各个复选框 433
|网页范例9示范使用CheckBoxList创建一个多选界面 433
|网页范例10示范使用CheckBoxList控件创建一份问卷调查表 434
|网页范例11示范结合使用CheckBoxList和SqIDataSource控件 438
9-10探讨RadioButtonList控件 440
|网页范例12使用RadioButtonList控件创建一份购买订单 441
|网页范例13示范以程序控制方式和声明方式为RadioButtonList控件添加单选按钮 443
9-11探讨DropDownList控件 446
|网页范例14示范以程序控制方式和声明方式为DropDownList控件添加选项 447
9-12探讨ListBox控件 449
|网页范例15 示范创建一个可复选的选择界面 450
9-13探讨BulletedList控件 452
|网页范例16示范如何将BulletedList控件绑定到数据源并动态设置项目符号的样式 453
|网页范例17示范如何让BulletedList控件中的每一个选项显示成超级链接 457
|网页范例18示范如何判断选项列表中的哪一个链接按钮被单击 458
结语 460
Chapter 10 全方位的数据访问界面:GridView控件基础概念篇 461
10-1如何绑定到数据源 462
|网页范例1示范以声明方式将GridView控件绑定到数据源控件 462
|网页范例2示范以编程方式将GridView控件绑定到一个DataView对象 462
10-2以拖放数据表与字段的方式快速创建GridView控件 465
10-3美化GridView控件的外观 466
|网页范例3使用CSS类来设置GridView控件的外观 468
10-4探讨GridView控件的数据行选择功能 470
10-4-1如何让GridView控件具备数据行选择功能 471
10-4-2判断用户在GridView控件中选择了哪一笔数据 472
|网页范例4示范如何使用两个GridView控件创建一对多界面 473
|网页范例5示范如何使用图片选择按钮并取得被选择数据行的相关信息 475
10-5如何取得与设置GridView控件的主键 478
|网页范例6示范如何使用SelectedDataKey属性来连接GridView控件 479
10-6探讨GridView控件的排序功能 483
10-6-1如何启用GridView控件的排序功能 483
|网页范例7实现一个具备排序功能的GridView控件 485
10-6-2如何禁用某一列的排序功能 486
|网页范例8示范禁用特定字段的排序功能 486
10-6-3如何为链接按钮添加递增或递减的排序图标 486
|网页范例9示范使用Wingdings字体的符号作为递增或递减的排序符号 488
|网页范例10示范使用Webdings字体的符号作为递增或递减的排序符号 490
|网页范例11示范使用图片作为递增或递减的排序图片 492
|网页范例12示范使用图片作为递增或递减的排序图标 493
10-6-4如何自定义排序界面 495
|网页范例13示范综合使用Button、LinkButton与ImageButton控件作为排序操作的标题控件 498
10-6-5善用Sort方法来排序数据 503
|网页范例14根据多个字段来排序GridView控件的数据行 503
|网页范例15根据字段内容的长度来排序GridView控件的数据行 506
10-6-6善用Sorting与Sorted事件 508
|网页范例16示范如何取消排序操作与动态更改排序表达式 508
10-7探讨GridView控件的分页功能 510
10-7-1如何启用GridView控件的分页功能 510
|网页范例17启用GridView控件的分页功能并要求一开始就显示最后一页 512
10-7-2自定义分页界面 513
|网页范例18结合使用下拉列表、图片按钮与数字按钮来切换页次,并显示当前所在页次与总页次 515
|网页范例19示范使用ImageButton控件作为页次切换按钮 522
10-7-3善用PagelndexChanging与PagelndexChanged事件 523
|网页范例20示范如何使用Pagel ndexChanging与PagelndexChanged事件 523
10-8探讨GridView控件的数据编辑功能 526
10-8-1数据绑定控件的数据互动功能一览表 526
10-8-2如何启用GridView控件的编辑与删除功能 526
|网页范例21使用GridView控件创建一个编辑与删除数据界面 529
|网页范例22结合GridView控件创建一个新建、修改与删除数据界面 529
10-8-3如何让GridView控件具备删除确认功能 532
|网页范例23创建一个具备删除确认功能的输入/输出界面 533
10-8-4善用与更新和删除操作相关的事件 534
|网页范例24使用更新和删除操作事件来更细腻地实现GridView控件的数据互动机制 536
10-8-5探讨并发访问(Concurrency) 542
结语 544
Chapter 11 全方位的数据访问界面:GridView控件应用技巧篇 545
11-1空数据时的显示方式 546
11-1-1如何使用EmptyDataText属性 546
|网页范例1使用EmptyDataText属性设置空数据时的界面 546
11-1-2如何使用EmptyDataTemplate模板 547
|网页范例2使用EmptyDataTemplate模板制作一个交互式的空数据界面 547
11-2探讨字段的类型 551
11-3探讨绑定字段(BoundField) 552
|网页范例3示范自定义绑定字段的属性 555
11-4探讨复选框字段(CheckBoxField) 557
|网页范例4示范使用复选框字段来显示与编辑布尔类型字段 557
|网页范例5示范如何让复选框的文字随着布尔类型字段内容更改 558
11-5探讨超级链接字段(HyperlinkField) 561
|网页范例6示范以数据库字段内容的URL作为超级链接字段的URL 563
|网页范例7示范使用超级链接字段制作“客户”与“订单”的一对多界面 564
|网页范例8示范通过超级链接字段的重新定位来查看照片 567
|网页范例9示范通过超级链接字段来重新定位到一个内置框架中 568
11-6探讨按钮字段(ButtonField) 569
|网页范例10创建一个简易的购物车 570
11-7探讨图像字段(ImageField) 575
|网页范例11示范使用图像字段来显示网站中的照片文件 577
|网页范例12示范使用图像字段来显示网站中的产品照片 579
|网页范例13创建一个具备照片上传功能的简易文件相册 581
|网页范例14示范将数据库字段中的二进制图像数据显示在GridView控件中 586
11-8探讨命令字段(CommandField) 589
|网页范例15示范使用命令字段为GridView控件添加编辑与删除数据功能 590
11-9探讨模板字段(TemplateField) 592
|网页范例16使用模板字段协助创建一个简单的购物车 595
11-10探讨数据绑定表达式的语法 598
11-10-1什么是数据绑定表达式 599
11-10-2如何使用Eval方法 599
|网页范例17示范使用数据绑定表达式显示各类型数据 600
|网页范例18示范使用数据绑定表达式组合出能够重新定位到其他网页的超级链接 602
11-10-3提升数据绑定表达式的性能 602
|网页范例19示范在数据绑定表达式中将数据项转换成特定的类型 603
11-10-4如何使用Bind方法 605
|网页范例20创建一个具备人性化编辑、验证与照片文件上传功能的GridView控件 606
11-11探讨GridView控件的事件 614
|网页范例21示范制作鼠标指针移到数据行上方时的醒目提示效果 614
|网页范例22示范如何根据字段内容来设置数据行的颜色 616
|网页范例23示范为字段计算加总值并显示在页脚位置 617
|网页范例24示范如何制作横跨字段页眉与页脚的背景图片 618
|网页范例25以嵌套GridView控件的方法来制作“客户”与“订单”的一对多界面 621
11-12如何以程序控制方式动态创建一个GridView控件 624
11-13如何将GridView控件的内容导出成Excel文件 628
结语 630
Chapter 12 数据访问界面双杰:DetailsView与FormView控件 631
12-1探讨DetailsView控件 632
|网页范例1示范使用DetailsView控件创建一个新建、修改与删除数据界面(含删除确认功能),并且能使用下拉列表框来切换页次 632
|网页范例2示范制作一对多界面,且具备照片文件上传编辑功能 637
|网页范例3结合ListView与DetailsView创建一个简易相册 643
12-2探讨FormView控件 646
|网页范例4使用FormView控件制作明细数据界面 646
|网页范例5使用FormView控件创建一个简单的留言板界面 650
|网页范例6结合ListView与FormView创建一个简易相册 652
结语 652
Chapter 13 王牌现身:全新的ListView控件 653
13-1 ListView控件的功能特性 654
13-2如何创建LayoutTemplate与ItemTemplate模板 655
|网页范例1示范自定义ListView控件的LayoutTemplate与ItemTemplate模板 655
|网页范例2示范自定义ListView控件的外观 657
|网页范例3示范使用GridView与ListView控件制作一对多界面 658
13-3善用ItemSeparatorTemplate模板 661
|网页范例4示范使用ItemSeparatorTemplate模板制作项目分隔图标 661
13-4如何分组项目 661
|网页范例5示范通过分组项目来创建一个并排显示的表格式配置的ListView控件 662
13-5如何分页数据 664
|网页范例6示范使用两个DataPager件来分页显示ListView控件中的数据项 665
|网页范例7示范使用TemplatePagerField对象来自定义分页界面 666
|网页范例8示范如何使用自定义的分页按钮与PagerCommand事件 669
|网页范例9创建一个能让用户输入所要前往的页次的分页界面 671
13-6如何排序数据 674
|网页范例10示范为ListView控件添加数据排序功能 674
13-7如何动态设置排序表达式 676
|网页范例11示范在Sorting事件处理例程中动态设置排序表达式 676
|网页范例12示范使用Sort方法来排序ListView控件的数据行 678
13-8如何选择数据 679
|网页范例13示范使用两个ListView控件制作一对多界面 679
13-9如何新建、修改与删除数据行 680
|网页范例14示范使用ListView控件来编辑与删除数据 681
|网页范例15使用ListView控件来新建、修改与删除数据 684
13-10如何为ListView控件中的项目应用样式 687
|网页范例16示范使用CSS类来格式化分页数字按钮的外观 688
13-11探讨ListView控件的重要类 689
|网页范例17示范如何使用ListViewltem对象来根据字段内容更改数据的外观样式 691
13-12 ListView控件支持的事件 694
|网页范例18示范使用各事件来完成数据行的选择界面变换 695
结语 698
附录A 光盘使用说明 699
A-1安装SQL Server 2008 Express Edition 700
A-2安装范例数据库并复制范例网站 700
A-3使用网页范例 700