第1章 简介 1
1.1 网页设计回顾 2
1.2 代码内联和代码隐藏 12
1.3 章节架构 17
习题 17
第2章 C#简介 19
2.1 变量 20
2.2 表达式的运算符 23
2.3 语句 23
2.3.1 赋值(Assignment)语句 24
2.3.2 if语句 24
2.3.3 switch语句 25
2.3.4 do while语句 26
2.3.5 for语句 27
2.3.6 while语句 28
2.3.7 tyy语句 28
2.3.8 其他的语句 30
2.4 子过程及函数 31
2.4.1 子过程 31
2.4.2 函数 32
2.5 内置函数 33
2.5.1 Math对象中的数学函数 33
2.5.2 String对象中的字符串处理函数 34
2.5.3 DateTime日期对象 38
2.5.4 数据类型转换函数 46
习题 47
第3章 标准控件 49
3.1 Button、LinkButton和ImageButton 50
3.2 命名空间和Import指示符 59
3.3 Label、HyperLink、Image和ImageMap 61
3.4 TextBox 64
3.5 CheckBox和CheckBoxList 66
3.6 RadioButton和RadioButtonList 68
3.7 ListBox和DropDownList 70
3.8 Table、TableRow和TableCell 71
3.9 Literal、BulletedList和HiddenField 74
3.10 Calendar 77
3.10.1 DayRender事件 80
3.10.2 SelectionChanged事件 82
3.10.3 VisibleMonthChanged事件 83
3.10.4 日历文字的变化 84
3.11 AdRotator 86
3.12 FileUpLoad 89
3.13 Wizard 92
3.14 Panel和PlaceHolder 98
3.15 MultiView和View 101
3.16 Substitution控件和OutputCache指示符 105
3.17 Localize和Xml 109
习题 109
第4章 控件和数据的验证 111
4.1 RequiredFieldValidator 112
4.2 CompareValidator 113
4.3 RangeValidator 114
4.4 RegularExpressionValidator 115
4.5 CustomValidator 119
4.6 ValidationSummary 120
4.7 ValidationGroup属性 122
4.8 System.Text.RegularExpressions的正则表达式 124
4.8.1 Regex对象、Match对象和MatchCollection对象 124
4.8.2 Group对象和GroupCollection对象 132
4.8.3 Capture对象和CaptureCollection对象 134
4.8.4 System.Text.RegularExpressions命名空间中的元字符 135
习题 138
第5章 SQL Server 2005、SQL语句和表的规范化 139
5.1 创建数据库和表 139
5.1.1 SQL Server 2005数据库和表的创建方法 139
5.1.2 SQL Server 2000数据库和表的创建方法 143
5.1.3 Microsoft Access数据库和表的创建方法 144
5.1.4 在SQL Server中用程序来创建数据库和表 147
5.1.5 在Microsoft Access中创建表 156
5.2 新建数据 158
5.3 查询数据 162
5.3.1 简单的数据查询 163
5.3.2 Where条件式 165
5.3.3 连接表的查询 168
5.3.4 查询统计数据 171
5.4 修改数据 171
5.5 删除数据 172
5.6 表的规范化 173
5.6.1 第一范式 173
5.6.2 表的分割 176
5.6.3 第二范式 178
5.6.4 第三范式 181
5.6.5 Boyce/Codd范式 183
5.6.6 第四范式 186
5.6.7 第五范式 187
习题 192
第6章 SqIDataSource、GridView和AccessDataSource 193
6.1 GridView的BoundField及CheckBoxField 195
6.2 GridView字段的格式 198
6.3 GridView的排序 199
6.4 GridView的分页 201
6.5 GridView的编辑及CommandField 206
6.5.1 默认的编辑模式 206
6.5.2 用CommandField来设计编辑字段 208
6.5.3 调整编辑框的大小 209
6.5.4 确认消息框 211
6.6 参数查询 212
6.7 插入数据 215
6.8 GridView HyperLinkField 217
6.9 GridView的ButtonField 219
6.10 GridView TemplateField 221
6.11 数据绑定表达式 226
6.11.1 一般表达式 226
6.11.2 再谈GridView字段的格式 228
6.12 AccessDataSource 231
习题 232
第7章 数据控件 233
7.1 DetailsView控件 233
7.1.1 DetailsView显示数据的方式 233
7.1.2 DetailsView和GridView的结合使用 234
7.1.3 自定义DetailsView的格式 236
7.1.4 DetailsView字段的格式 237
7.1.5 DetailsView数据的修改和删除 239
7.1.6 DetailsView的新建数据 241
7.1.7 DetailsView的HyperLinkField 243
7.1.8 DetailsView的CommandField 245
7.1.9 DetailsView的ButtonField 247
7.1.10 DetailsView编辑框大小的控制 252
7.1.11 DetailsView删除数据时的提示消息框 258
7.2 Repeater控件 262
7.3 DataList控件 265
7.3.1 DataList的重复显示功能 265
7.3.2 SelectedItemTemplate的变换显示功能 268
7.3.3 EditItemTemplate的编辑功能 270
7.4 FormView控件 275
7.4.1 PagerSettings 275
7.4.2 PagerTemplate 277
7.4.3 FormView控件的编辑 279
7.4.4 FormView控件的新建功能 282
习题 288
第8章 数据库高级技术 289
8.1 DataSet中数据表的新建、修改和删除 289
8.2 节省内存的SqlDataReader对象 296
8.3 数据库的存储过程、参数查询及事务 298
8.3.1 存储过程 298
8.3.2 参数查询 303
8.3.3 事务 305
8.3.4 事务的存储过程 310
8.4 不同数据库的集成 313
8.5 在运行时创建SQL语句 316
习题 319
第9章 文件和常用对象的使用方法 321
9.1 有关文件的对象 321
9.1.1 文件和目录的新建和删除 321
9.1.2 文件的打开 326
9.1.3 将数据写入文件 328
9.1.4 将数据读出文件 330
9.1.5 文件和目录的基本属性信息 332
9.2 E-mail的SmtpClient对象和MailMessage对象 336
9.3 Response对象 339
9.3.1 BufferOutput、Expires、ExpiresAbsolute属性 340
9.3.2 流(Stream)的属性和方法 340
9.3.3 状态码的种类 341
9.3.4 ClearContent、Flush、End方法 341
9.3.5 Redirect和Write方法 342
9.4 Request对象 343
9.4.1 浏览器属性 344
9.4.2 ClientCertificate属性 345
9.4.3 TotalBytes属性 345
9.4.4 Headers属性 346
9.4.5 ServerVariables属性 346
9.4.6 Form和Querystring方法 348
9.5 Page对象 349
9.5.1 Page对象中的事件 349
9.5.2 Page对象中常用的属性和方法 351
9.6 Application对象 352
9.7 Session对象和Cookie对象 353
9.7.1 Session对象 354
9.7.2 Cookie对象 357
9.8 StateBag对象的视图状态变量 358
9.9 Server对象 360
9.9.1 HtmlDecode和HtmlEncode方法 361
9.9.2 MapPath方法 361
习题 362
第10章 HTML控件 363
10.1 HtmlButton、HtmlInputButton和HtmlInputImage 363
10.2 HTML控件共有的属性 367
10.3 HtmlForm和HtmlInputText 367
10.4 HtmlAnchor和HtmlImage 370
10.5 HtmlInputCheckBox和HtmlInputRadioButton 371
10.6 HtmlInputHidden 372
10.7 HtmlSelect 373
10.8 HtmlTextArea 374
10.9 HtmlTable、HtmlTableRow和HtmlTableCell 375
10.10 HtmlInputFile 377
10.11 HtmlHead、HtmlTitle和HtmlLink 379
10.12 HtmlInputPassword、HtmlSubmit和HtmlReset 382
习题 383
第11章 XML、XML Schema和XSL 385
11.1 XML简介 385
11.2 XML Schema 388
11.3 XML文件的验证 395
11.4 XSL简介 398
11.4.1 XSL程序和XML文件的关系:xml-stylesheet和xsl:stylesheet 402
11.4.2 获得标签值的语句xsl:value-of 402
11.4.3 循环控制语句xsl:for-each 403
11.4.4 数据排序语句xsl:sort 405
11.4.5 条件语句xsl:if 406
11.4.6 条件语句xsl:choose、xsl:when、xsl:otherwise 407
11.4.7 函数的调用和定义:xsl:apply-templates和xsl:template 408
11.4.8 将元素转换成属性:xsl:attribute 409
11.5 使用ASP.NET程序操作XSL程序 411
习题 413
第12章 ASP.NET对XML的支持 415
12.1 读取XML文件 415
12.2 创建新的XML文件 419
12.3 修改XML文件 421
12.3.1 修改内容 424
12.3.2 增加新的内容 425
12.3.3 删除某些内容 427
12.4 XML文件和DataSet 428
习题 430
第13章 标准控件高级技术 431
13.1 文件的编码 431
13.1.1 读取GB2312文件的注意事项 431
13.1.2 文件的默认编码 433
13.1.3 编码代号和字符集名称 433
13.2 Label和TextBox中的文字 434
13.2.1 Label控件中的文字 434
13.2.2 TextBox控件中的文字 435
13.3 动态创建DropDownList和ListBox 437
13.3.1 用数组创建DropDownList 437
13.3.2 用DataTable生成DropDownList 439
13.3.3 用数据库中的DataTable创建DropDownList 440
13.3.4 选项中的“其它” 442
13.3.5 联动式DropDownList 444
13.4 动态创建RadioButtonList、CheckBoxList和BulletedList 447
13.4.1 动态创建RadioButtonList 447
13.4.2 动态创建BulletedList 448
13.5 动态创建其他控件 449
13.5.1 动态创建多个控件 449
13.5.2 在控件数组中再添加控件 450
13.5.3 动态控件中属性和事件的设置 451
13.6 动态设置和清除控件的属性 452
13.6.1 动态设置控件的属性 452
13.6.2 动态清除控件的内容 453
13.6.3 枚举网页中的控件 455
13.7 程序的调试和跟踪(Trace)特性 458
13.7.1 跟踪(Trace)特性 459
13.7.2 页面级别的跟踪 460
13.7.3 组件的跟踪 462
13.7.4 应用程序级别的跟踪 462
习题 466
第14章 数据控件高级技术 467
14.1 显示确认消息框 467
14.2 表字段值NULL的处理 472
14.3 GridView中流水编号字段 473
14.4 GridView中行号的格式 475
14.5 GridView和鼠标的交互 475
14.5.1 Attributes属性 477
14.5.2 Ambient事件 479
14.5.3 Style属性 481
14.6 GridView控件加上滚动条 484
习题 486
第15章 母版页和导航 487
15.1 简单母版页的创建方法 487
15.1.1 母版页的创建方法 487
15.1.2 内容页的创建方法 488
15.2 嵌套母版页的创建方法 490
15.3 Menu控件 492
15.3.1 MenuItem标签 493
15.3.2 Menu控件的属性、方法和事件 495
15.3.3 Menu控件的DataBindings属性 499
15.4 TreeView控件 500
15.4.1 TreeNode标签 503
15.4.2 TreeView控件的属性、方法和事件 505
15.4.3 TreeView控件的DataBindings属性 508
15.4.4 运行时生成TreeNodes 509
15.5 SiteMapPath控件 512
15.5.1 编写扩展名为.sitemap的XML文件 512
15.5.2 明确站点地图的提供程序 513
15.5.3 创建含有SiteMapPath控件的网页程序 514
15.5.4 TreeView控件的SiteMapPath 516
15.5.5 SiteMapPath控件中常用的属性 518
习题 520
第16章 用户控件和自定义控件 521
16.1 用户控件 521
16.1.1 用户控件的创建 521
16.1.2 用户控件的使用 523
16.1.3 用户控件在模块化中的应用 525
16.2 创建和使用自定义控件 529
16.2.1 创建自定义控件的语法 529
16.2.2 编译用户自定义控件标签程序 531
16.2.3 使用自定义控件 534
16.3 属性的设置和Render子过程 535
16.3.1 自定义控件的默认值 535
16.3.2 自定义控件中属性值的保存 537
16.3.3 枚举类型的属性 538
16.3.4 层叠式的属性 540
16.3.5 子过程Render的写法 542
16.4 自定义控件的方法 550
16.4.1 简单的方法 550
16.4.2 重载(Overload)的方法 552
16.4.3 有返回值的方法 554
16.5 自定义控件的事件 555
16.5.1 不因数据改变而触发的事件 555
16.5.2 因数据改变而触发的事件 558
16.6 增加现有控件的功能 560
16.6.1 Web控件的继承 560
16.6.2 由子控件组成的控件 564
16.6.3 由子控件组成的控件的事件设置 566
习题 568
第17章 组件和Web Services简介 569
17.1 组件的创建 569
17.2 组件的编译 570
17.3 组件的引用 571
17.4 一个完整的例子 572
17.5 Web Services的作用 576
17.6 创建Web Service文件 577
17.7 用HTTP获取服务 578
17.8 WebMethod标签 581
17.9 将现有的组件改成Web Service 582
17.10 在网页应用程序中使用Web Service 585
习题 594
第18章 系统环境:Global.asax和Web.config文件 595
18.1 Global.asax文件 596
18.2 Web.config文件 603
18.2.1 〈appSettings〉 605
18.2.2 〈connectionStrings〉 607
18.2.3 〈browserCaps〉 609
18.2.4 〈compilation〉 609
18.2.5 〈customErrors〉 611
18.2.6 〈globalization〉 611
18.2.7 〈httpHandlers〉 612
18.2.8 〈httpModules〉 614
18.2.9 〈pages〉 615
18.2.10 〈processModel〉 615
18.2.11 〈sessionState〉 616
习题 617
第19章 网页安全和Login控件 619
19.1 Windows身份验证 620
19.1.1 Windows操作系统中的用户 620
19.1.2 Basic Windows身份验证 622
19.1.3 Digest和NTLM Windows身份验证 624
19.2 Forms身份验证使用Login控件 625
19.2.1 CreateUserWizard控件 625
19.2.2 将数据存储在自行设计的数据库中 639
19.2.3 Login控件和PasswordRecovery控件 642
19.2.4 使用Login控件的Forms身份验证 647
19.2.5 LoginName和LoginStatus控件 649
19.2.6 ChangePassword控件 649
19.2.7 LoginView控件 651
19.2.8 密码格式的设置 654
19.3 Forms身份验证使用Web.config文件中的验证 655
19.3.1 修改“默认的网站”中“根文件夹”的Web.config 656
19.3.2 创建验证的网页程序 659
19.3.3 Web.config文件中用户名的管理 661
19.3.4 Passport身份验证 667
19.4 授权 667
19.4.1 File授权 667
19.4.2 URL授权 669
19.4.3 角色管理 671
19.5 验证后权限 677
习题 678
第20章 层叠样式表 679
20.1 Style标签的语法 679
20.2 字体 681
20.3 文本 684
20.4 背景 686
20.5 页面上项目的位置 691
20.6 项目及列表式文字的显示 695
20.7 边框、外补白、内填充和滚动条 699
20.8 分页打印和鼠标指针外观 700
20.9 其他 703
第21章 主题、个性化配置和Web部件 705
21.1 主题和皮肤 705
21.2 个性化设置 707
21.2.1 匿名用户的个性化设置 707
21.2.2 程序中有关个性化设置的写法 709
21.2.3 成员资格和个性化 711
21.3 Web部件 716
21.3.1 WebPartManager、WebPartZone和CatalogZone控件 718
21.3.2 DeclarativeCatalogPart、ImportCatalogPart和PageCatalogPart控件 721
21.3.3 EditorZone及其子控件 723
21.3.4 Web Parts控件的参数 728