前言 1
第1章 第一个ASP.NET程序实例的练习 1
1.1 学习ASP.NET项目开发的理由 1
1.1.1 学习Web开发技术的理由 1
1.1.2 学习Dreamweaver页面设计工具的理由 2
1.1.3 学习ASP.NET开发技术的理由 3
1.1.4 学习SQL Server技术的理由 4
1.2 Web网站开发的基本方法 4
1.2.2 开发工具的选取 5
1.2.1 项目的角色划分 5
1.2.3 需求分析 6
1.2.4 总体设计 6
1.2.5 详细设计和实现 6
1.2.6 整合测试 7
1.3 第一个ASP.NET程序实例 7
1.4 小结 9
第2章 HTML界面开发实例 10
2.1 HTML结构分析 10
2.2 HTML常用标记的实例分析 11
2.2.1 页面主体标记及其实例 11
2.2.3 字体标记及其实例 12
2.2.2 超级链接标记及其实例 12
2.2.4 实体标记与逻辑标记及其实例 13
2.2.5 文字布局标记及其实例 14
2.2.6 图像标记 15
2.2.7 表单标记 15
2.3 高级技巧实例——用JavaScript控制HTML控件 16
2.4 小结 17
第3章 页面布局设计实例的熟悉 18
3.1 表格及其属性 18
3.1.1 表格初步 18
3.1.2 表格进阶 21
3.2.2 表格的创建 22
3.2 用Dreamweaver创建表格 22
3.2.1 表格的用途 22
3.2.3 表格的属性设置 23
3.2.4 表格实例 25
3.3 高级技巧——使用表格进行Web页布局 26
3.3.1 标题和导航区 27
3.3.2 正文区 27
3.3.3 框架代码 27
3.4 小结 30
4.1.2 相对路径 31
4.1.1 绝对路径 31
4.1 文档路径 31
第4章 页面设计高级主题 31
4.1.3 根相对路径 32
4.2 创建CSS样式表 33
4.2.1 样式面板 33
4.2.2 样式表的类型 34
4.2.3 样式表的使用 35
4.2.4 创建自定义样式 36
4.2.5 重定义HTML标记 38
4.2.6 创建CSS选择器 42
4.3 高级技巧——资深美工珍藏CSS 44
4.4 小结 46
第5章 SQL Server数据库的使用 47
5.1 启动数据库 47
5.1.1 使用SQL Server服务管理器 47
5.1.2 使用SQL Server企业管理器 48
5.1.3 使用命令行 49
5.1.4 使用控制面板 51
5.2 企业管理器 52
5.3 查询分析器 52
5.3.1 查询分析器概述 52
5.4 小结 53
5.3.2 查询分析器的使用 53
第6章 关系数据库设计 54
6.1 关系数据库 54
6.1.1 关系数据库的本质 54
6.1.2 主键和外键 55
6.1.3 关系数据库的特点 57
6.2 创建和修改数据库 58
6.2.1 数据库存储结构 58
6.2.2 事务日志 58
6.2.3 创建数据库 58
6.2.4 使用SQL语句创建数据库 60
6.2.5 设置数据库选项 62
6.2.6 删除数据库 64
6.3 高级技巧——使用Visio设计数据库 64
6.3.1 设计数据库结构 64
6.3.2 反向工程 67
6.4 高级技巧——数据库正规化和设计技巧 70
6.4.1 第一范式 70
6.4.2 第二范式 70
6.4.3 第三范式 71
6.4.4 BC范式 71
6.4.5 第四范式 72
6.4.6 第五范式 73
6.5 小结 74
第7章 Transact-SQL语言 75
7.1 表 75
7.1.1 创建表 75
7.1.2 IDENTITY列 79
7.1.3 修改表 80
7.1.4 注释 81
7.1.5 关于用户登录 81
7.2 数据类型 82
7.3.1 数据插入INSERT 83
7.3 数据操纵 83
7.3.2 数据更新UPDATE 84
7.3.3 数据删除DELETE和TRUNCATE 85
7.4 数据查询SELECT 88
7.4.1 SELECT语法 88
7.4.2 SELECT实例 89
7.4.3 通配符和LIKE 91
7.5 变量和运算符 92
7.5.1 SQL变量的作用 92
7.5.2 变量的声明DECLARE 92
7.5.3 给变量赋值 93
7.6.1 流控制的必要性 94
7.6 流控制语句 94
7.5.4 SQL运算符 94
7.6.2 IF...ELSE条件控制 95
7.6.3 WHILE循环控制 96
7.6.4 CASE语句 97
7.6.5 流控制的嵌套 98
7.7 聚集函数 101
7.7.1 SUM函数 101
7.7.2 COUNT函数 102
7.7.3 AVG函数 102
7.8 高级技巧——数据库开发经验谈 103
7.7.4 MAX和MIN函数 103
7.8.1 TOP关键字 104
7.8.2 datetime和datediff 104
7.8.3 返回刚插入记录的id 105
7.8.4 用新的列名返回 106
7.8.5 数据分页选取 106
7.8.6 索引和数据库性能调整 108
7.8.7 数据的一致性和完整性 109
7.9 小结 109
第8章 使用存储过程 110
8.1 存储过程的作用 110
8.1.2 存储过程防止SQL注入式攻击作用 111
8.1.1 存储过程和SQL语句 111
8.1.3 存储过程对网页速度的提升作用 112
8.1.4 存储过程对代码的简化作用 112
8.2 不带参数的存储过程 112
8.2.1 基本知识 112
8.2.2 实例:查询 113
8.2.3 实例:数据插入 114
8.3 带参数的存储过程 115
8.3.1 基本知识 115
8.3.2 带输出参数的存储过程 115
8.3.3 实例 116
8.4 使用存储过程的返回值 117
8.4.1 返回值的格式 117
8.4.2 实例 117
8.4.3 高效法则:使用表变量 117
8.5 高级技巧——存储过程高级应用 118
8.5.1 随机选取 118
8.5.2 Exec的妙用 119
8.5.3 调用系统存储过程 120
8.5.4 复杂选取 121
8.6 小结 122
9.1 C#程序结构实例分析 123
第9章 C#语言程序设计实例分析 123
9.1.1 源代码注释 124
9.1.2 using指令 124
9.1.3 命名空间 124
9.1.4 类声明 125
9.1.5 Main()函数 125
9.2 数据类型实例分析 125
9.2.1 数据类型 125
9.2.2 类和接口 131
9.2.3 数据类型的选择和转换 133
9.2.4 变量和参数的四种类型 134
9.2.5 常量 138
9.3 操作符实例分析 139
9.3.1 一元运算符 139
9.3.2 二元运算符 140
9.3.3 三元运算符 143
9.3.4 赋值运算符 143
9.3.5 其他运算符 145
9.4 控制语句实例分析 147
9.4.1 条件控制语句 147
9.4.2 循环控制语句 150
9.5.1 方法的定义 154
9.5 高级技巧——方法实例分析 154
9.5.2 方法的参数 157
9.5.3 访问修饰符 158
9.6 小结 165
第10章 Web网站设计实例分析 166
10.1 页面结构和Web Form实例分析 166
10.1.1 Web Form架构分析 166
10.1.2 项目层次结构 167
10.1.3 WebForm和WindowsForm的区别 167
10.1.4 WebForm1.aspx.cs架构分析 167
10.1.5 脚本攻击 169
10.2.2 Page Load事件 170
10.2 B/S模式实例分析 170
10.2.1 B/S结构简介及与C/S结构的区别 170
10.2.3 Page Unload事件 171
10.2.4 IsPostBack属性 172
10.3 Request对象实例分析 173
10.3.1 QueryString 173
10.3.2 UserHostAddress 174
10.3.3 Cookies 174
10.4 Response对象实例分析 175
10.4.1 Response.Write方法 175
10.4.3 Response.Redirect方法 176
10.4.2 Response.BinaryWrite方法 176
10.5.1 Session基本用法 178
10.5.2 Session的存在性判断和清除 178
10.5 Session实例分析 178
10.6 Cookies实例分析 179
10.6.1 Cookies和Session的区别 179
10.6.2 Cookies实例 179
10.6.3 Cookies的子键 181
10.8 高级技巧——Web.Config和Global.asax应用实例 182
10.8.1 设置调试模式 182
10.7 Code Behind技术 182
10.8.2 设置页面输入验证 183
10.8.3 设置站点SQL连接字符串 183
10.8.4 Global.asax的应用和网站访问模式 184
10.9 小结 185
第11章 服务器控件实例分析 186
11.1 ASP.NET服务器控件分类 186
11.2 HTML服务器控件实例分析 186
11.3 Web服务器控件实例分析 188
11.3.1 Label实例分析 190
11.3.2 TextBox实例分析 191
11.3.3 Button实例分析 193
11.3.4 LinkButton实例分析 195
11.3.5 ImageButton实例分析 197
11.3.6 Button深入剖析 198
11.3.7 CheckBox实例分析 200
11.3.8 RadioButton实例分析 201
11.3.9 HyperLink实例分析 203
11.3.10 Image实例分析 203
11.4 高级技巧——开发实战经验 204
11.4.1 显示控制 204
11.4.2 使用JavaScript 207
11.4.3 属性控制 208
11.5 小结 209
第12章 高级服务器控件实例分析 210
12.1 CheckBoxList实例分析 210
12.1.1 CheckBoxLjst分析 210
12.1.2 实例:获取用户选择 211
12.1.3 实例:项的遍历 212
12.2 RadioButtonList实例分析 213
12.2.1 RadioButtonList分析 213
12.2.2 实例:获取用户选择 214
12.3.1 DropDownList分析 215
12.3 DropDownList实例分析 215
12.3.2 实例:动态添加项 216
12.3.3 实例:获取用户选择 216
12.4 ListBox实例分析 217
12.4.1 ListBox分析 217
12.4.2 实例:不同模式的数据获取 218
12.4.3 实例:数组绑定 220
12.5 Repeater实例分析 221
12.5.1 Repeater分析 221
12.5.2 实例:数据绑定 222
12.6 Validation实例分析 224
12.6.1 RequiredFieldValidator实例分析 225
12.6.2 CompareValidator实例分析 226
12.6.3 CustomValidator实例分析 230
12.6.4 RangeValidator实例分析 231
12.6.5 RegularExpressionValidator实例分析 233
12.6.6 ValidationSummary实例分析 235
12.7 小结 238
第13章 DataList和DataGrid实战 239
13.1 DataList实战 239
13.1.1 DataList分析 239
13.1.2 OnItemCommand事件的原理和实例 241
13.1.3 OnEditCommand事件的原理和实例 248
13.1.4 OnCancelCommand事件的原理和实例 251
13.1.5 OnDeleteCommand事件的原理和实例 252
13.1.6 OnUpdateCommand事件的原理和实例 253
13.1.7 DataList总结 255
13.2 DataGrid实战 255
13.2.1 DataGrid分析 256
13.2.2 实例:自动生成列 259
13.2.3 实例:自动分页 262
13.2.4 实例:绑定列和按钮列 264
13.2.5 实例:超级链接列和模板列 269
13.3.1 留言板数据库分析 270
13.3 高级技巧——DataGrid开发进阶 270
13.3.2 建立留言板页面基类 273
13.3.3 构建Msg.aspx页面 277
13.3.4 添加动态控制控件 287
13.3.5 构建回复页面 289
13.4 高级技巧——DataGrid嵌套 295
13.5 小结 299
第14章 ADO.NET实例分析 300
14.1 ADO.NET技术分析 300
14.2 访问数据库实例分析 301
14.2.1 Connection 301
14.2.2 Command 302
14.2.3 DataReader和DataAdapter 303
14.2.4 DataSet和DataTable 305
14.3 高级技巧——DataGrid数据集绑定 308
14.4 小结 311
第15章 用户控件和自定义控件实例分析 312
15.1 用户控件和自定义控件的区别 312
15.2 用户控件内幕和实例 312
15.2.1 用户控件框架 314
15.2.2 属性定义 316
15.2.3 动态修改用户控件 317
15.2.4 使用VS.NET创建用户控件 319
15.2.5 高级技巧:链接问题 321
15.3 自定义控件内幕和实例 323
15.3.1 属性、方法和事件 324
15.3.2 自定义控件实例 324
15.3.3 控件属性值的保存 327
15.3.4 显示自定义控件 330
15.4 自定义控件的事件模型实例分析 333
15.4.1 控件的生存期 333
15.4.2 事件定义的步骤 334
15.4.3 给自定义控件定义单击事件 335
15.4.4 事件模型的优化 338
15.4.5 使用优化的单击事件 339
15.4.6 处理多回传 342
15.5 综合实例——登录控件的设计 347
1 5.5.1 实现Login的代码 348
15.5.2 使用控件 365
15.6 小结 366
第16章 新闻发布系统实例分析 367
16.1 软件开发流程 367
16.1.1 八步法 367
16.1.2 七原则 369
16.1.3 瀑布模型 370
16.2 系统定义 371
16.3 可行性分析 371
16.3.1 系统流程图 371
16.3.2 数据流图 372
16.4 需求分析 373
16.4.1 数据流分析 373
16.4.2 E-R数据模型 373
16.4.3 状态转换图 374
16.5 总体设计 376
16.5.1 模块划分 376
16.4.4 功能简述 376
16.5.2 系统数据库设计 377
16.5.3 类的抽象 379
16.5.4 构架三层模式的类 379
16.5.5 一些规则 381
16.6 详细设计 383
16.6.1 设计原理 383
16.6.2 数据库设计 385
16.6.3 SupperCore接口设计 392
16.6.4 BaseClass接口设计 404
16.6.5 News接口设计 409
16.6.6 Assistance接口设计 422
16.6.7 处理生成的函数 433
16.6.8 属性初始化 433
16.6.9 继承关系 443
16.6.10 分发副本 444
16.7 编码单元测试 444
16.7.1 WinLin开发 445
16.7.2 Stone开发 548
16.7.3 Ice开发 566
16.8 总体测试 576
16.9 发布产品 576
16.10 小结 577