前言
第 1 章 起步走•••••••••••••••••••••••••••••••••••••••••••••••• 1
条款 1 启动页 •••••••••••••••••••••••••••••••••••••••••••••••••• 1
条款 2 如何创建文件系统网站 ••••••••••••••••••••••• 3
条款 3 如何创建本地 IIS 网站 •••••••••••••••••••••••• 4
条款 4 如何创建.aspx 页面•••••••••••••••••••••••••••••• 6
条款 5 应用程序文件夹••••••••••••••••••••••••••••••••• 10
条款 6 理解页面事件••••••••••••••••••••••••••••••••••••• 11
条款 7 IsPostBack••••••••••••••••••••••••••••••••••••••••••• 13
条款 8 页面重定向••••••••••••••••••••••••••••••••••••••••• 14
条款 9 编译模型 •••••••••••••••••••••••••••••••••••••••••••• 15
条款 10 开发环境概览••••••••••••••••••••••••••••••••••• 18
条款 11 如何设置控件的属性和事件
处理程序 •••••••••••••••••••••••••••••••••••••••••• 25
条款 12 如何为代码添加行号 ••••••••••••••••••••••• 28
条款 13 如何让代码自动换行 ••••••••••••••••••••••• 30
条款 14 如何折叠隐藏代码••••••••••••••••••••••••••• 31
条款 15 如何设置编辑器的字体 ••••••••••••••••••• 32
条款 16 智能感知••••••••••••••••••••••••••••••••••••••••••• 34
第 2 章 语言与类库•••••••••••••••••••••••••••••••••••••• 36
条款 17 为代码添加注释••••••••••••••••••••••••••••••• 36
条款 18 String 对象•••••••••••••••••••••••••••••••••••••••• 38
条款 19 其他类型与字符串之间的转换••••••••••••• 41
条款 20 数字格式字符串••••••••••••••••••••••••••••••• 42
条款 21 时间和时间格式字符串 ••••••••••••••••••• 43
条款 22 将多个对象格式化为单个
字符串••••••••••••••••••••••••••••••••••••••••••••••• 44
条款 23 高效地处理大量的字符串对象•••••••••• 45
条款 24 数组 •••••••••••••••••••••••••••••••••••••••••••••••••• 46
条款 25 布尔值判断••••••••••••••••••••••••••••••••••••••• 49
条款 26 switch 语句 ••••••••••••••••••••••••••••••••••••••• 50
条款 27 foreach 语句•••••••••••••••••••••••••••••••••••••• 52
条款 28 装箱与拆箱••••••••••••••••••••••••••••••••••••••• 54
条款 29 异常处理••••••••••••••••••••••••••••••••••••••••••• 55
条款 30 基元类型••••••••••••••••••••••••••••••••••••••••••• 58
条款 31 命名空间••••••••••••••••••••••••••••••••••••••••••• 60
条款 32 属性 •••••••••••••••••••••••••••••••••••••••••••••••••• 63
条款 33 自动转换与强制转换 ••••••••••••••••••••••• 65
条款 34 委托和事件••••••••••••••••••••••••••••••••••••••• 67
条款 35 泛型 •••••••••••••••••••••••••••••••••••••••••••••••••• 68
条款 36 类关系图••••••••••••••••••••••••••••••••••••••••••• 70
第 3 章 基本控件•••••••••••••••••••••••••••••••••••••••••• 74
条款 37 如何创建密码输入框 ••••••••••••••••••••••• 74
条款 38 如何实现多行 TextBox 控件•••••••••••• 76
条款 39 如何为 TextBox 控件实现自动
完成功能•••••••••••••••••••••••••••••••••••••••••• 77
条款 40 如何在文本框中键入回车后使
光标跳转到下一个文本框••••••••••••••• 78
条款 41 如何实现点击 Button 控件后
执行客户端脚本••••••••••••••••••••••••••••••• 79
条款 42 如何使用 Button 控件的
PostBackUrl 属性 ••••••••••••••••••••••••••••• 82
条款 43 如何使用 HyperLink 控件的
Target 属性 ••••••••••••••••••••••••••••••••••••••• 83
条款 44 如何使用 HyperLink 控件设置
图片超链接••••••••••••••••••••••••••••••••••••••• 88
条款 45 如何为 DropDownList 控件
添加项 •••••••••••••••••••••••••••••••••••••••••••••• 89
条款 46 如何存取 DropDownList 控件
中的选中项•••••••••••••••••••••••••••••••••••••• 91
条款 47 如何为 DropDownList 控件
设置默认选中项••••••••••••••••••••••••••••••• 92
条款 68 如何对数字、日期进行验证
V
条款 48 如何实现联动的下拉列表 ••••••••••••••• 93
条款 49 如何处理 ListBox 控件中的
多选值•••••••••••••••••••••••••••••••••••••••••••••• 94
条款 50 如何从实现数据在 ListBox
控件之间的移动••••••••••••••••••••••••••••••• 95
条款 51 如何实现 ListBox 控件中选项
上下移动 •••••••••••••••••••••••••••••••••••••••••• 96
条款 52 如何使用 ImgeMap 控件为
图片添加热点 •••••••••••••••••••••••••••••••••• 97
条款 53 如何使用 BulletedList 控件••••••••••• 100
条款 54 如何使用 Calendar 控件最
基本的功能 •••••••••••••••••••••••••••••••••••• 101
条款 55 如何读取 Calendar 控件中
选中的多个日期••••••••••••••••••••••••••••• 102
条款 56 如何显示 Calendar 控件中
选中日期所处的范围••••••••••••••••••••• 103
条款 57 如何显示指定的一段日期 ••••••••••••• 104
条款 58 如何使用 AdRotator 控件 •••••••••••••• 105
条款 59 如何使用 MultiView 和 View
制作选项卡 •••••••••••••••••••••••••••••••••••• 106
条款 60 如何使用 MultiView 和 View
控件实现替换视图••••••••••••••••••••••••• 108
条款 61 如何使用 Wizard 控件在页面
内添加向导••••••••••••••••••••••••••••••••••••• 110
条款 62 在使用 Wizard 控件时如何获
取模板内控件的值••••••••••••••••••••••••• 113
条款 63 在使用 Wizard 时如何让向导
跳过一个步骤••••••••••••••••••••••••••••••••• 115
条款 64 如何使用FileUpLoad 上传文件•••••••• 116
条款 65 如何使用 PlaceHolder 控件•••••••••••• 118
条款 66 如何布局页面控件••••••••••••••••••••••••• 120
第 4 章 验证控件•••••••••••••••••••••••••••••••••••••••• 124
条款 67 如何对必填字段进行验证
(RequiredFieldValidator
控件)•••••••••••••••••••••••••••••••••••••••••••• 124
(Range Validator 控件) ••••••••••••••• 125
条款 69 如何将用户输入与其他数据
进行比较验证(Compare
Validator 控件) •••••••••••••••••••••••••••••• 126
条款 70 如何验证有特殊格式要求的
数据(RegularExpression
Validator 控件)••••••••••••••••••••••••••••••• 128
条款 71 如何自定义验证函数
(CustomValidator 控件) •••••••••••••• 128
条款 72 存在哪些显示错误信息的方式
(ValidationSummary 控件)••••••••••130
条款 73 如何为页面上的控件
设置验证组••••••••••••••••••••••••••••••••••••••133
第 5 章 数据库访问基础••••••••••••••••••••••••••••• 136
条款 74 如何在 Visusl Studio 2005 中
查看数据库•••••••••••••••••••••••••••••••••••••• 136
条款 75 如何与 Access 数据库连接•••••••••••••138
条款 76 如何将连接字符串保存到应用
程序的配置文件中 ••••••••••••••••••••••••••140
条款 77 如何与 SQL Server 数据库
进行连接•••••••••••••••••••••••••••••••••••••••••143
条款 78 如何与 Oracle 数据库
进行连接•••••••••••••••••••••••••••••••••••••••••145
条款 79 如何让数据绑定控件与数据源
进行连接•••••••••••••••••••••••••••••••••••••••••149
条款 80 如何在数据源控件中为
数据集排序 •••••••••••••••••••••••••••••••••••••152
条款 81 如何使用数据源控件设置
参数过滤功能 •••••••••••••••••••••••••••••••••154
条款 82 如何修改数据源中的命令
和参数•••••••••••••••••••••••••••••••••••••••••••••157
条款 83 如何在数据源控件中使用
自定义 SQL 语句 ••••••••••••••••••••••••••••161
条款 84 如何处理 Access 文件连接失败 •••••164
条款 85 如何连接带有密码的 Access
数据库文件••••••••••••••••••••••••••••••••••••••165
VI
条款 86 如何处理 SqlDataSource 的
连接失败 •••••••••••••••••••••••••••••••••••••••• 166
第 6 章 数据绑定控件•••••••••••••••••••••••••••••••• 168
条款 87 如何为 ListControl 控件
填充数据 •••••••••••••••••••••••••••••••••••••••• 168
条款 88 复合控件概览••••••••••••••••••••••••••••••••• 171
条款 89 如何汉化数据绑定控件中
的字段•••••••••••••••••••••••••••••••••••••••••••• 173
条款 90 如何设置单元格的文本格式•••••••••• 176
条款 91 如何为单元格的文本设置
自定义样式 •••••••••••••••••••••••••••••••••••• 178
条款 92 解析 GridView 控件中的模板列
(Template Field)•••••••••••••••••••••••••••••• 180
条款 93 如何使用数据绑定表达式 ••••••••••••• 183
条款 94 如何向 GridView 控件中
添加记录 •••••••••••••••••••••••••••••••••••••••• 186
条款 95 如何更新和删除复合控件中的
数据•••••••••••••••••••••••••••••••••••••••••••••••• 190
条款 96 如何为复合控件中的删除按钮
添加客户端提示对话框••••••••••••••••• 193
条款 97 如何处理数据插入、更新过程
中的空值问题 •••••••••••••••••••••••••••••••• 199
条款 98 如何对 GridView 控件内的
数据进行排序••••••••••••••••••••••••••••••••• 202
条款 99 如何为数据绑定控件设置分页••••••••• 210
条款 100 GridView 控件事件 •••••••••••••••••••••• 211
条款 101 如何获取 GridView 控件单元格
对象 •••••••••••••••••••••••••••••••••••••••••••••• 214
条款 102 如何使用 DropDownList 控件
筛选复合控件中的数据 ••••••••••••••• 215
条款 103 如何为分页加入索引提示 ••••••••••• 220
条款 104 如何为数据绑定控件添加
自定义跳转页面••••••••••••••••••••••••••• 221
条款 105 如何合并 GridView 的表头格
单元 •••••••••••••••••••••••••••••••••••••••••••••• 222
条款 106 如何在 GridView 中添加
Calendar 控件••••••••••••••••••••••••••••••• 224
条款 107 如何在 GridView 中添加 Radio-
ButtonList 控件•••••••••••••••••••••••••••••• 227
条款 108 如何在 GridView 控件中
增加统计列•••••••••••••••••••••••••••••••••••• 232
条款 109 如何为 GridView 添加一列
自动编号•••••••••••••••••••••••••••••••••••••••• 236
条款 110 如何在 GridView 中
使用 DropDown List 控件 ••••••••••••• 237
条款 111 如何在 GridView 中使用
CheckBox 控件••••••••••••••••••••••••••••••• 241
条款 112 如何使用 GridView 和 DetailsView
在同一页面实现主/从用户
视图•••••••••••••••••••••••••••••••••••••••••••••••• 243
条款 113 如何使用 GridView 和 DetailsView
控件实现跨页主/从视图•••••••••••••••• 246
条款 114 如何为数据绑定控件中的模板
列添加验证控件 •••••••••••••••••••••••••••• 250
条款 115 如何存取图片信息 •••••••••••••••••••••••• 253
第 7 章 ADO.NET•••••••••••••••••••••••••••••••••••••••267
条款 116 ADO.NET 模型••••••••••••••••••••••••••••••267
条款 117 如何连接数据源 ••••••••••••••••••••••••••••268
条款 118 使用 using 语句关闭连接••••••••••••••271
条款 119 如何存储和执行命令 ••••••••••••••••••••272
条款 120 DataReader 对象 ••••••••••••••••••••••••••••273
条款 121 DataAdapter 对象与
DataSet 对象••••••••••••••••••••••••••••••••••275
条款 122 System.Data.Common••••••••••••••••••••279
条款 123 如何将数据访问封装在
一个类中••••••••••••••••••••••••••••••••••••••••281
第 8 章 XML 和 Web Service••••••••••••••••••••287
条款 124 什么是 XML••••••••••••••••••••••••••••••••••287
条款 125 如何使用 XMLDocument 对象
处理 XML 文件•••••••••••••••••••••••••••••289
条款 126 如何通过顺序访问模型处理
XML •••••••••••••••••••••••••••••••••••••••••••••• 294
条款 127 XMLDataSource •••••••••••••••••••••••••••• 297
条款 128 如何创建一个简单的
Web Service •••••••••••••••••••••••••••••••••• 301
条款 129 如何使用自定义的
Web Service •••••••••••••••••••••••••••••••••• 305
条款 130 如何创建和使用带参数的
Web Service •••••••••••••••••••••••••••••••••• 307
第 9 章 报表•••••••••••••••••••••••••••••••••••••••••••••••• 310
条款 131 如何在网页中使用水晶报表 ••••••••••• 310
条款 132 如何在报表中显示图表信息 ••••••••••• 318
条款 133 如何制作显示主从信息
的报表 •••••••••••••••••••••••••••••••••••••••••• 324
条款 134 如何制作接受参数的报表 ••••••••••• 329
第 10 章 超越网页 ••••••••••••••••••••••••••••••••••••• 332
条款 135 使用共享代码••••••••••••••••••••••••••••••• 332
条款 136 ValidateRequest 属性和
HtmlEncode 方法•••••••••••••••••••••••••• 334
条款 137 跨页发送••••••••••••••••••••••••••••••••••••••• 335
条款 138 网站路径••••••••••••••••••••••••••••••••••••••• 337
条款 139 客户端脚本••••••••••••••••••••••••••••••••••• 341
条款 140 调试 •••••••••••••••••••••••••••••••••••••••••••••• 346
条款 141 跟踪 •••••••••••••••••••••••••••••••••••••••••••••• 351
条款 142 代码重构••••••••••••••••••••••••••••••••••••••• 354
第 11 章 外观、主题和 Web 部件 ••••••••••• 360
条款 143 如何设置页面和控件
的外观••••••••••••••••••••••••••••••••••••••••••• 360
条款 144 如何使用外观文件 ••••••••••••••••••••••• 362
条款 145 如何创建和应用主题 ••••••••••••••••••• 364
条款 146 StylesheetTheme 属性与
Themes 属性有何区别•••••••••••••••••• 369
条款 147 如何实现动态切换主题 ••••••••••••••• 370
条款 148 如何对整个应用程序
使用主题••••••••••••••••••••••••••••••••••••••• 372
条款 149 如何禁用主题••••••••••••••••••••••••••••••• 372
条款 150 如何创建使用 Web 部件的
简单页面 •••••••••••••••••••••••••••••••••••••• 373
VII
第 12 章 母版页••••••••••••••••••••••••••••••••••••••••••• 380
条款 151 如何创建母版页 •••••••••••••••••••••••••••• 380
条款 152 如何创建内容页 •••••••••••••••••••••••••••• 383
条款 153 如何访问母版页中的成员••••••••••••• 386
条款 154 如何设置使用了母版页的
页面标题•••••••••••••••••••••••••••••••••••••••• 388
条款 155 如何使用嵌套母版页 •••••••••••••••••••• 389
条款 156 母版页的应用范围 •••••••••••••••••••••••• 390
第 13 章 导航••••••••••••••••••••••••••••••••••••••••••••••• 392
条款 157 如何配置站点地图 •••••••••••••••••••••••• 392
条款 158 如何以编程方式处理站点
地图中的各个节点•••••••••••••••••••••••• 393
条款 159 如何使用 SiteMapPath 控件•••••••••• 396
条款 160 如何使用 SiteMapPath 控件
中的模板••••••••••••••••••••••••••••••••••••••• 397
条款 161 如何定义 Menu 控件的内容 ••••••••• 398
条款 162 如何设置 Menu 的外观显示 ••••••••• 404
条款 163 理解 TreeView 控件的节点 ••••••••••• 406
条款 164 如何为 TreeView 控件添加节点 ••• 407
条款 165 如何访问 TreeView 控件
中的节点••••••••••••••••••••••••••••••••••••••• 413
条款 166 如何隐藏和显示 TreeView 控件 ••• 413
条款 167 理解 TreeView 控件的外观元素 ••• 416
条款 168 如何处理 TreeView 控件的
选择事件•••••••••••••••••••••••••••••••••••••••• 418
条款 169 如何处理 TreeView 控件的
复选框事件 ••••••••••••••••••••••••••••••••••• 419
条款 170 如何处理 TreeView 控件节点
的折叠和展开事件•••••••••••••••••••••••• 420
条款 171 TreeView 控件与客户端•••••••••••••••• 421
第 14 章 登录控件••••••••••••••••••••••••••••••••••••••• 424
条款 172 如何为网站管理工具注册
数据库••••••••••••••••••••••••••••••••••••••••••• 424
条款 173 如何添加网站用户 •••••••••••••••••••••••• 426
条款 174 如何创建角色•••••••••••••••••••••••••••••••• 430
VIII
条款 175 如何设置网站的访问规则 ••••••••••• 433
条款 176 如何设置登录界面 ••••••••••••••••••••••• 435
条款 177 如何设置用户通过验证后
的信息 •••••••••••••••••••••••••••••••••••••••••• 437
条款 178 如何创建用户注册页面 ••••••••••••••• 438
条款 179 如何处理用户信息中的
密码问题••••••••••••••••••••••••••••••••••••••• 439
条款 180 如何为不同的用户显示不同
的登录模板••••••••••••••••••••••••••••••••••• 441
第 15 章 状态与缓存 ••••••••••••••••••••••••••••••••• 443
条款 181 Session •••••••••••••••••••••••••••••••••••••••••• 443
条款 182 Application••••••••••••••••••••••••••••••••••••• 444
条款 183 查询字符串•••••••••••••••••••••••••••••••••••• 446
条款 184 Cookie•••••••••••••••••••••••••••••••••••••••••••• 449
条款 185 隐藏域•••••••••••••••••••••••••••••••••••••••••••• 451
条款 186 视图状态•••••••••••••••••••••••••••••••••••••••• 452
条款 187 页输出缓存•••••••••••••••••••••••••••••••••••• 454
条款 188 回调缓存•••••••••••••••••••••••••••••••••••••••• 457
条款 189 部分页缓存•••••••••••••••••••••••••••••••••••• 459
条款 190 对象缓存•••••••••••••••••••••••••••••••••••••••• 461
条款 191 数据源控件缓存 •••••••••••••••••••••••••••• 462
参考文献 ••••••••••••••••••••••••••••••••••••••••••••••••••••••••• 464
· · · · · · (
收起)