零基础学ASP.NET(第2版)

零基础学ASP.NET(第2版)
作 者: 魏汪洋 张建林 郑玉晖
出版社: 机械工业出版社
丛编项: 零基础学编程
版权说明: 本书为公共版权或经版权方授权,请支持正版图书
标 签: ASP
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

  本书第1~4章主要由魏汪洋编写,第5章由马林编写,第6~12章主要由张建林编写,第13~18章由姜永艳编写,第19、22章由高阳编写,第20、21章由张编写,第24章由牛艳霞编写,第23、25、26章主要由郑玉晖编写。其他参与编写的人员有冯华君、刘博、刘燕、叶青、张军、张立娟、张艺、彭涛、徐磊、戎伟、朱毅、李佳。全书由魏汪洋统稿。作 者2012年2月

内容简介

本书站在零基础学ASP.NET网页设计的初学者角度,在知识点讲解时,采用由浅入深、循序渐进的学习方式,给读者提供一本真真正正迅速上手的教材。本书涵盖了ASP.NET网页设计所需用到的相关知识,包括:C#语言的基础,网页控件的使用,ADO.NET数据库操作,数据控件与绑定操作,网页设计中的主题、母版、导航、国际化、验证模式,以及ASP.NETAJAX、CSS、JavaScript等。本书针对每个知识点的常用方法,以实际页面中的效果为例子,重点讲述各个知识点的应用,并辅以简单易懂且贴近工程应用的实例来阐明。本书作为ASP.NET的基础教程,适合于ASP.NET网页设计的初学者,可作为大学教学的教科书,也可以作为广大ASP.NET爱好者的自学教材。本书附赠光盘,内容是作者为本书录制的全程多媒体语音教学视频及本书所涉及的源代码。

图书目录

前言

第一篇  快 速 起 步

第1章 第一个ASP.NET程序 1

1.1 选择开发工具:Visual Studio 2010 1

1.1.1 了解Visual Studio 2010的功能 1

1.1.2 安装Visual Studio 2010所需的硬件环境 2

1.1.3 安装Visual Studio 2010 2

1.1.4 检查是否安装IIS 4

1.2 开发第一个ASP.NET程序 5

1.2.1 启动Visual Studio 2010,创建一个网站 5

1.2.2 添加控件、编写代码 5

1.2.3 运行程序:查看在浏览器上显示的源文件 6

1.2.4 退出Visual Studio 2010 7

1.3 ASP.NET程序结构的剖析 7

1.3.1 前台和后台 7

1.3.2 程序集的引用 7

1.3.3 事件 8

1.3.4 揭示程序处理的过程和本质 8

1.4 配置文件的说明 9

1.4.1 什么是配置文件 9

1.4.2 配置文件的作用 10

1.5 小结 10

1.6 上机实践习题 11

第2章 基础知识 12

2.1 认识ASP.NET 4.0 12

2.1.1 .NET Framework 4.0的功能 12

2.1.2 ASP.NET是.NET Framework的一部分 14

2.1.3 ASP.NET需要的命名空间 14

2.2 C#变量和常量 14

2.2.1 系统预定义类型 15

2.2.2 定义变量(标识符与关键字) 15

2.2.3 变量的初始化 16

2.2.4 变量的生命周期 16

2.2.5 数据的显式转换、隐式转换 17

2.2.6 装箱和拆箱 17

2.2.7 字符串 18

2.2.8 数组 18

2.2.9 泛型 19

2.2.10 常量 19

2.2.11 注释 20

2.2.12 C#书写规范和风格 20

2.3 运算符与表达式 21

2.3.1 运算符 21

2.3.2 表达式 22

2.4 语句类型 22

2.4.1 选择语句 22

2.4.2 循环语句 24

2.4.3 跳转语句 25

2.4.4 异常处理语句 25

2.5 对象、类与结构 27

2.5.1 对象和类 27

2.5.2 接口 28

2.5.3 继承 28

2.6 C#高级应用 28

2.6.1 迭代器 28

2.6.2 分部类 30

2.6.3 隐式类型 30

2.6.4 对象初始化设置项 31

2.6.5 类中的属性赋值自动实现 32

2.6.6 Lambda表达式 32

2.7 小结 33

2.8 上机实践习题 33

第3章 添加网页控件 34

3.1 控件分类 34

3.1.1 HTML控件 34

3.1.2 Web控件 35

3.2 添加标准控件 35

3.2.1 如何往网页中添加控件 35

3.2.2 使用控件的属性 36

3.2.3 处理控件的事件 37

3.2.4 表示类控件:Label、Literal 37

3.2.5 输入类控件:TextBox、RadioButton、DropDownList等 38

3.2.6 布局类控件:Panel、Table等 41

3.2.7 提交类控件:Button、LinkButton等 41

3.3 添加验证控件 41

3.3.1 关于6个验证控件 42

3.3.2 使用5个简单的验证控件 42

3.3.3 ValidationSummary验证控件的错误汇总 45

3.4 使用复杂控件 46

3.4.1 日历控件 46

3.4.2 动态广告控件 46

3.5 小结 47

3.6 上机实践习题 47

第二篇 使 用 数 据

第4章 ADO.NET基础 49

4.1 配置数据库:SQL Server 2008 49

4.1.1 安装SQL Server 2008 49

4.1.2 准备数据 53

4.2 第一个连接数据库的网页 53

4.2.1 建立数据连接 54

4.2.2 添加GridView控件 55

4.2.3 代码分析 56

4.3 ADO.NET框架与.NET框架 57

4.4 连接方式 58

4.4.1 用Connection类连接数据库 58

4.4.2 用Command类执行命令 59

4.4.3 用DataReader类读取数据 60

4.4.4 如何给Command对象添加参数对象 61

4.4.5 DataAdapter类的桥梁作用 61

4.5 应用断开连接类 62

4.5.1 数据集类(DataSet)介绍 62

4.5.2 数据表类(DataTable)介绍 64

4.6 使用事务 64

4.7 小结 66

4.8 上机实践习题 66

第5章 数据绑定 68

5.1 数据绑定概述 68

5.2 绑定单值数据 68

5.2.1 绑定表达式 68

5.2.2 使用Eval()方法 69

5.2.3 使用Bind()方法 69

5.3 绑定单值字段 70

5.3.1 绑定属性 70

5.3.2 绑定C#对象中的字段 70

5.3.3 内联引用方式调用C#代码 71

5.3.4 引用配置文件中预定义的字段 71

5.4 绑定复值数据 72

5.5 数据源控件 74

5.5.1 选择记录 74

5.5.2 参数化命令 75

5.6 更新数据 76

5.6.1 使用LinqDataSource更新数据 76

5.6.2 使用SqlDataSource更新数据 77

5.6.3 使用ObjectDataSource控件更新数据 77

5.6.4 更换数据源 77

5.7 小结 78

5.8 上机实践习题 78

第6章 数据控件 80

6.1 列表视图控件(ListView) 80

6.1.1 ListView控件显示数据 80

6.1.2 ListView控件实现数据的增、删、改 83

6.2 使用数据分页控件(DataPager)进行分页 87

6.3 表格视图(GridView)显示数据 92

6.3.1 自动添加列与预定义列 92

6.3.2 利用列表视图进行排序、分页 94

6.3.3 数据的编辑和删除 95

6.4 使用详细视图(DetailsView)控件 97

6.5 使用表单视图(FormView)控件 98

6.6 使用数据列表(DataList)控件 103

6.7 实现主/详细关系数据的显示 104

6.8 小结 106

6.9 上机实践习题 107

第7章 XML简介 108

7.1 介绍XML 108

7.1.1 配置文件是一个xml文件 108

7.1.2 XML语法 109

7.1.3 XML注释 110

7.2 使用LINQ操作xml文件 110

7.2.1 使用LINQ创建xml文件 110

7.2.2 使用LINQ对xml文件数据进行增、删、改 114

7.2.3 XML数据的验证 117

7.3 XML数据绑定 118

7.3.1 XmlDataSource控件 118

7.3.2 显示站点地图数据 119

7.4 XML与ADO.NET之间的转换 120

7.4.1 将DataSet转换为xml文件 120

7.4.2 从XML文件提取数据存入DataSet 123

7.5 小结 124

7.6 上机实践习题 125

第8章 LINQ简介 126

8.1 LINQ基础 126

8.1.1 为什么要使用LINQ 126

8.1.2 LINQ的语法 127

8.2 LINQ对数据集的操作 129

8.3 LINQ与SQL的交互 132

8.3.1 数据的查询和删除 132

8.3.2 数据的插入 134

8.3.3 数据的修改 137

8.4 LinqDataSource控件实现数据的增、删、改 141

8.5 小结 143

8.6 上机实践习题 144

第三篇 ASP.NET网站规划

第9章 使用母版页 145

9.1 母版页基础 145

9.1.1 建立一个母版页 145

9.1.2 建立一个内容页 146

9.1.3 在母版页使用相对路径应注意的问题 147

9.1.4 在配置文件中设置母版页 148

9.2 对母版页类进行操作 148

9.2.1 修改标题 148

9.2.2 访问母版页中的控件 149

9.2.3 使用方法与处理事件 149

9.3 关于母版页嵌套 150

9.4 小结 151

9.5 上机实践习题 151

第10章 使用主题 152

10.1 创建主题 152

10.1.1 建立一个简单的主题 152

10.1.2 外观 153

10.1.3 建立级联样式表单 154

10.2 运行时更改主题和外观 154

10.3 通过配置文件应用主题 155

10.4 自定义日历控件的外观 155

10.5 如何应用从网络下载的主题 156

10.5.1 下载主题 157

10.5.2 应用主题 157

10.6 小结 158

10.7 上机实践习题 158

第11章 建立用户控件 160

11.1 一个简单的用户控件 160

11.1.1 创建用户控件 160

11.1.2 应用用户控件 161

11.1.3 增加、处理用户控件的属性 162

11.1.4 增加、处理用户控件的事件 162

11.2 动态装载用户控件 163

11.3 用户控件缓存问题 164

11.4 用户控件与母版页、普通页面的比较 164

11.5 小结 165

11.6 上机实践习题 165

第12章 网页导航 167

12.1 多视图控件 167

12.2 导航控件 168

12.3 站点地图控件 170

12.3.1 站点地图控件的功能 170

12.3.2 使用站点地图控件实现导航 171

12.4 树型视图控件 172

12.4.1 应用树型视图控件 172

12.4.2 节点定义 172

12.4.3 动态生成节点 173

12.4.4 定义节点样式 173

12.5 菜单控件 174

12.5.1 应用菜单控件 174

12.5.2 定义菜单样式 174

12.6 小结 175

12.7 上机实践习题 175

第13章 门户个性化 178

13.1 什么是门户个性化 178

13.1.1 哪些网站体现了门户个性化 178

13.1.2 门户个性化具备哪些功能 179

13.2 Web Part Pages基础 179

13.2.1 创建一个Web Part网页 179

13.2.2 添加WebPartManager控件 180

13.2.3 添加WebPartZone控件 180

13.2.4 添加普通控件 181

13.3 个性化设置Profile和数据存取 182

13.3.1 设置属性 182

13.3.2 保存设置 182

13.4 小结 183

13.5 上机实践习题 183

第四篇 ASP.NET网站管理

第14章 状态管理 185

14.1 ASP.NET状态管理概述 185

14.1.1 服务器端状态管理 185

14.1.2 客户端状态管理 186

14.2 视图状态 187

14.3 隐藏字段 187

14.4 网页之间信息的传递 189

14.5 如何使用Cookie类 190

14.5.1 Cookie的写入和读取 190

14.5.2 Cookie的失效和删除 191

14.6 如何使用会话状态 191

14.6.1 会话状态标识 192

14.6.2 使用Session对象 192

14.6.3 会话状态的时效性 193

14.6.4 会话状态的事件处理程序 194

14.7 应用程序状态 194

14.7.1 应用程序状态概述 195

14.7.2 使用应用程序状态存储公用数据 195

14.8 小结 197

14.9 上机实践习题 197

第15章 缓存和不同步网页 198

15.1 什么是缓存 198

15.2 页面输出缓存 199

15.2.1 启用页面输出缓存 199

15.2.2 用参数控制缓存 200

15.2.3 用头控制缓存 202

15.2.4 自定义字符串控制缓存 203

15.2.5 缓存的存放位置 204

15.3 页面数据缓存 205

15.4 缓存的依赖性 207

15.4.1 文件缓存依赖 207

15.4.2 数据库缓存依赖 208

15.5 使用不同步的网页 210

15.6 小结 211

15.7 上机实践习题 212

第16章 网站国际化 214

16.1 设置当前文化 214

16.1.1 以声明方式设置区域性 214

16.1.2 编程方式进行区域性设置 215

16.2 为网站建立资源 215

16.2.1 手动创建资源文件 215

16.2.2 从网页生成局部资源文件 217

16.3 为网页选择国际编码 217

16.4 为ASP.NET页面使用本地化资源 218

16.5 小结 220

16.6 上机实践习题 220

第17章 网站配置文件管理 222

17.1 使用网站管理工具 222

17.1.1 “安全”选项卡 222

17.1.2 “应用程序”选项卡 225

17.1.3 “提供程序”选项卡 227

17.2 使用控制台管理单元配置ASP.NET 227

17.3 使用配置编程接口 228

17.4 小结 229

17.5 上机实践习题 230

第五篇 ASP.NET网站安全

第18章 两种验证模型 231

18.1 介绍ASP.NET安全模型 231

18.1.1  ASP.NET的安全验证过程 231

18.1.2  安全防范措施 232

18.2 配置身份验证属性 232

18.3 表单验证 233

18.3.1 应用表单验证 233

18.3.2 表单验证的一些重要功能 234

18.4 窗口验证 234

18.5 小结 235

18.6 上机实践习题 236

第19章 成员和角色管理 237

19.1 成员管理 237

19.1.1 成员管理Membership类的功能 237

19.1.2 动态创建用户 237

19.1.3 验证用户的姓名和密码 240

19.1.4 成员管理类的常用方法 241

19.1.5 单一的用户信息管理类 242

19.1.6 成员资格提供程序MembershipProvider 243

19.1.7 网站默认的数据存储数据库 244

19.1.8 自定义保存用户信息的数据库 245

19.1.9 扩展MembershipProvider支持Oracle数据库存储方式 246

19.2 角色管理 247

19.2.1 在应用程序中启用角色管理功能 247

19.2.2 通过网站管理工具创建角色 247

19.2.3 通过代码创建角色 247

19.2.4 赋予用户角色权限 248

19.2.5 配置角色的登录权限 249

19.2.6 allow和deny 249

19.3 使用登录组件包 250

19.3.1 使用登录控件(Login) 250

19.3.2 登录状态控件(LoginStatus) 250

19.3.3 登录者名称控件(LoginName) 251

19.3.4 修改密码控件(ChangePassword) 251

19.3.5 创建用户控件(CreateUserWizard) 251

19.4 小结 252

19.5 上机实践习题 252

第六篇 ASP.NET网站高级开发

第20章 AJAX Web开发语言:JavaScript简明编程 255

20.1 JavaScript的标准和发展 255

20.2 JavaScript关键字和运算符 258

20.3 基本程序结构 260

20.4 数据类型 261

20.4.1 数据的类型识别 262

20.4.2 基本数据类型之间的转换 264

20.4.3 null和undefined 265

20.5 函数和对象 267

20.5.1 简单的函数模型 267

20.5.2 简单的对象模型 267

20.5.3 对象的类别 269

20.5.4 原型对象prototype 274

20.5.5 封装 276

20.5.6 继承 276

20.5.7 重载 279

20.5.8 覆写 282

20.6 prototype.js框架 284

20.6.1 获得prototype.js 284

20.6.2 包 284

20.6.3 prototype.js中的面向对象支持 285

20.6.4 基于事件的开发 286

20.6.5 Abstract.TimedObserver扩展 290

20.6.6 Ajax支持 291

20.7 小结 294

20.8 上机实践习题 294

第21章 AJAX布局技术:CSS深入详解 295

21.1 CSS 概述 295

21.2 在Web页面中引入CSS风格表 295

21.2.1 在HTML中引入CSS 295

21.2.2 在XML中引入CSS 298

21.3 选择符 299

21.3.1 标记选择符、类选择符和ID选择符 299

21.3.2 伪类选择符 300

21.3.3 属性选择符 301

21.3.4 复合选择符 302

21.3.5 级联法则 304

21.4 元素的渲染 306

21.4.1 文字的基本渲染方法 306

21.4.2 颜色和背景 308

21.4.3 图片拼合技术 310

21.5 块及块的定位 312

21.5.1 块的概念 312

21.5.2 块的4大区域 312

21.5.3 position和网页布局 315

21.5.4 浮动定位和网页布局 317

21.6 小结 319

21.7 上机实践习题 319

第22章 ASP.NET AJAX 321

22.1 ASP.NET AJAX概述 321

22.1.1 ASP.NET AJAX特性 321

22.1.2 Microsoft AJAX Library脚本库 322

22.1.3 服务器端架构 323

22.2 建立ASP.NET AJAX程序 324

22.2.1 开发ASP.NET AJAX的应用程序 324

22.2.2 在现有的应用程序上使用ASP.NET AJAX 324

22.2.3 配置Visual Studio的工具箱 325

22.3 使用ASP.NET AJAX建立Hello World程序 326

22.4 ScriptManager服务器控件 328

22.4.1 ScriptManager控件概述 328

22.4.2 理解EnablePartialRendering属性实现局部更新 329

22.4.3 使用EnablePageMethods属性调用页面方法 331

22.5 使用AJAX调用Web服务方法 333

22.5.1 引用Web Service 333

22.5.2 调用Web服务代理 335

22.6 使用ScriptManagerProxy控件 338

22.6.1 ScriptManagerProxy控件概述 338

22.6.2 应用ScriptManagerProxy控件 339

22.7 局部更新控件(UpdatePanel) 341

22.7.1 UpdatePanel控件概述 341

22.7.2 应用局部更新UpdatePanel控件 342

22.7.3 UpdatePanel的触发器 343

22.8 更新进度提示控件(UpdateProgress) 344

22.8.1 更新进度提示控件概述 344

22.8.2 用UpdateProgress实现更新提示 345

22.9 定时控件 346

22.9.1 定时控件概述 346

22.9.2 使用Timer控件实现定时更新 346

22.10 AJAX的工具包 347

22.10.1 自动完成控件(AutoComplete) 347

22.10.2 确认按钮控件(ConfirmButton) 350

22.10.3 下拉菜单控件(DropDown) 353

22.10.4 文本框水印控件(TextBoxWatermark) 355

22.10.5 滑杆控件(Slider) 357

22.11 小结 359

22.12 上机实践习题 359

第七篇 建立一个电子商务网站

第23章 设计简单博客网站 361

23.1 系统概要设计 361

23.1.1 分析系统需求 361

23.1.2 系统主要功能 362

23.1.3 搭建开发系统的环境 362

23.1.4 设计网站架构 362

23.2 数据库设计 363

23.2.1 数据库表设计 363

23.2.2 数据库表关系设计 365

23.3 网站数据库连接设计 365

23.4 用户管理模块 366

23.4.1 用户注册功能 366

23.4.2 用户登录 369

23.4.3 用户信息维护 371

23.4.4 用户模块公共代码类 372

23.5 图片管理模块 376

23.5.1 上传图片 376

23.5.2 图片修改和删除功能 377

23.5.3 图片模块公共代码类 379

23.6 文章管理模块 380

23.6.1 文章发布功能 380

23.6.2 文章修改删除功能 381

23.6.3 文章公共类 383

23.7 通讯录管理模块 384

23.7.1 添加联系人 384

23.7.2 通讯录维护功能 385

23.7.3 通讯录管理公共代码类 387

23.8 评论模块 388

23.8.1 查看评论信息 388

23.8.2 评论信息公共类 389

23.9 小结 390

第24章 图书销售管理系统 391

24.1 系统总体设计 391

24.1.1 销售系统功能设计 391

24.1.2 系统功能模块划分 392

24.2 数据库设计 392

24.2.1 系统概要设计 392

24.2.2 数据库表设计 392

24.2.3 数据库表关系设计 395

24.2.4 数据表到数据类的映射(LINQ to SQL Classes) 395

24.3 网络商城的界面设计 396

24.3.1 用户登录后的主界面设计(Main.aspx) 396

24.3.2 书籍的类别树设计 396

24.3.3 系统主页面 398

24.4 用户登录和注册功能 398

24.4.1 用户登录 398

24.4.2 用户注册 403

24.5 书籍类别管理功能 406

24.5.1 类别管理界面设计 406

24.5.2 使用TreeView控件设置导航信息 409

24.5.3 添加新的图书类别 411

24.5.4 修改图书类别 412

24.5.5 图书类别排序 413

24.5.6 删除图书类别 413

24.6 书籍管理功能 414

24.6.1 动态加载书籍类别 415

24.6.2 书籍管理 417

24.6.3 添加书籍 421

24.6.4 修改书籍 424

24.6.5 删除书籍 426

24.7 书籍图片管理功能 427

24.7.1 图片的管理 427

24.7.2 上载图片 429

24.7.3 设置书籍默认图片 432

24.7.4 删除图片 433

24.8 书籍评论管理功能 434

24.8.1 显示评论信息 434

24.8.2 查看和发表单本书的评论 436

24.8.3 删除单本书籍的评论 439

24.9 购物车和订单管理功能 440

24.9.1 浏览书籍 440

24.9.2 购买书籍 444

24.9.3 查看自己的购物车 446

24.9.4 提交订单 450

24.10 小结及关键技术详解 452

第25章 发布程序(制作安装程序) 455

25.1 ASP.NET应用程序的部署准备 455

25.1.1  ASP.NET应用程序的部署方案 455

25.1.2  创建Web程序测试项目 455

25.2 使用Visual Studio 2010模板创建安装文件 456

25.2.1  创建Web程序测试项目 456

25.2.2  创建测试程序的安装文件 456

25.2.3  安装Web项目 458

25.3 使用XCopy部署远程网站 459

25.4 安装完成后的配置 460

25.5 安装完成后的测试 461

25.6 小结 461

25.7 上机实践习题 462

第26章 常见面试题目分析 463

26.1 基础面试题目分析 463

面试题1 页面传递参数的方法 463

面试题2 SQL注入 463

面试题3 区分类成员的访问权限 463

面试题4 C#实现多重继承 464

面试题5 区分重载与覆写 464

面试题6 区分接口与抽象类 464

面试题7 B/S结构传递变量 464

面试题8 C#索引器 464

面试题9 应用程序域 464

面试题10 CTS、CLS、CLR 465

面试题11 访问类成员 465

面试题12 数据库操作类 465

面试题13 调用WebService 465

面试题14 .NET Remoting 的工作原理 465

面试题15 Session对象中的BUG 465

26.2 代码分析题 465

面试题16 覆写方法 466

面试题17 识别变量的长度 466

面试题18 区分类的静态构造函数与静态成员 466

面试题19 使用覆写方法 467

面试题20 分析死锁的产生原因 468

面试题21 使用数据库连接池 468

面试题22 操作xml文件 469

面试题23 使用运行时多态 469

面试题24 使用四舍五入 470

面试题25 使用参数传递 470

面试题26 使用new重定义参数 471

面试题27 使用override覆写方法 471

面试题28 使用位运算 472

26.3 程序设计题 472

面试题29 使用递归 472

面试题30 订阅事件 473

面试题31 为页面上的控件赋值 474

面试题32 冒泡算法 475

面试题33 生成随机数 475

26.4 逻辑测试题 475

面试题34 使用容器取水 476

面试题35 切蛋糕 476

面试题36 十层楼挑钻石 476

面试题37 小鸟回程 476

面试题38 取红球 477

面试题39 数黑帽 477