
本书使用微软最新的Visual Studio 2012作为开发IDE,循序渐近,系统全面地讲述了ASP.NET开发Web程序所涉及的各个知识点,包括服务器控件,验证控件,ADO.NET,MVC4编程模式,jQuery框架应用、Ajax应用等目前非常流行的Web开发技术。本次修订版本基本上抛弃了之前大量的服务器控件,以最新MVC4开发模式来展开学习,使用原生态表单Form及Models、Views、Controller来架构ASP.NET项目文件,并融入了jQuery、Ajax等Web前端技术。本书适合ASP.NET初学者阅读,也适合想进一步提高自己ASP.NET、ADO.NET技术水平的开发人员阅读,也可作为大中专院校师生的参考教材。
《ASP.NET基础教程(第2版)》是一本经典的、实战型ASP.NET教程。
本书使用微软最新的Visual Studio 2012作为开发平台,循序渐近,讲述ASP.NET开发Web程序所涉及的各个知识点,包括服务器控件,验证控件, ADO.NET,MVC 4编程模式,jQuery框架应用、Ajax应用等目前非常流行的Web开发技术。使读者在轻松的学习状态环境中逐步掌握最新ASP.NET开发所涉及的各种技术。
本次修订版本基本上抛弃了之前大量的服务器控件,如Repeater、DataList、DetailsView、FormView服务器端控件,但依然保留了GridView控件。以最新MVC 4开发模式来展开学习,使用原生态表单Form及Models、Views、Controllers来架构ASP.NET项目文件,并融入了jQuery、Ajax等Web前端技术。但是由于还有一些人习惯于ASP.NET传统的窗体控件开发Web程序,所以第2章依然讲解传统服务器控件的使用,如果你是初学者,建议跳过此章。
教材编排循序渐进,由浅入深,将复杂的知识点完全融入趣味性实例中,使读者在不知不觉中步入VS2012 Web程序开发设计殿堂。教材选题新颖,完全是目前市场上流行的Web技术,如Visual Studio 2012,C#,ADO.NET, MVC4编程模式,jQuery框架应用、Ajax应用等。
本书内容安排如下。
第1章主要介绍了ASP.NET入门基础知识。其中包括Visual Studio 2012开发环境的应用配置、Web应用程序工作原理、如何配置ASP.NET运行环境以及如何调试ASP.NET应用程序。
第2章核心介绍Web窗体服务器控件的使用。包括基本控件、Web绑定控件、数据验证控件、Web Table 控件、日历控件以及FileUpload Web 服务器上传控件。同时列举了几个典型例子(如下),以便读者从实际的开发角度进一步理解Web窗体服务器控件在ASP.NET开发技术中的重要性。
(1)一个会员注册Web窗体页面的设计。
(2)使用DropDownList完成省市地区选择功能。
(3)使用ListBox完成一个职位选择功能使用。
(4)FileUpload Web 服务器控件实现文件上传。
第3章详细介绍了开发ASP.NET程序常用的对象的使用方法,其中包括Page、Response、Request、Server、Session以及Cookie技术。并分别列举了使用Session、Cookie记录用户信息实现用户登录的例子。
第4章详细介绍了ADO.NET技术。其中包括.NET Framework数据提供程序、ADO.NET对象模型、Connection、Command、DataReader、连接池的使用。并核心介绍了DataAdapter、DataSet、DataTable、DataView、XML。
第5章详细介绍了ASP.NET窗体开发控件GridView的使用,完全是实例推动型讲解。几乎不用编写任何代码,即可完成对数据库的增、删、改、查操作,主要应用SqlDataSource控件来配合完成。而且GridView提供了“自动套用格式”可以让页面显示非常美观。总之,GridView控件的优点在于基本上不用编写代码,缺点在于操作步骤还是比较复杂,而且由于是控件封装,所以要做一些灵活的结构调整修改,还是有一定难度的,不过对于Web网站后台系统仅仅是为了快速实现管理功能,使用GridView还是很方便的。
第6章详细讲解了ASP.NET传统窗体开发模式、使用原生态Web表单开发、最新MVC 4开发模式的区别与联系,最终结论是灵活使用多种开发模式,当然更偏重于脱离窗体服务器控件,而是使用原生态Web表单开发是最佳选择,然后再过渡到MVC开发模式。本章属于理论内容讲解,但是本章节无论是对于初学者,还是对于有一定ASP.NET开发经验的开发人员,都是非常重要的,都需要认真阅读。
第7章详细介绍了ASP.NET编程规范以及ADO.NET数据库操作通用类DBHelper的实现。由于编程规范向来是软件开发行业的重头戏,特别是开发一些大型软件项目,规范更是重中之重,它往往决定了项目的功能是否能够全部实现以及软件项目能否按期完成。同时讲解了ADO.NET数据库操作通用类DBHelper的实现,读者在后续开发ASP.NET 程序时可以直接使用DBHelper类。
第8章详细介绍了在ASP.NET中使用jQuery技术。内容涉及文档就绪函数、选择器的使用方法;常用事件函数;操作HTML内容;使用jQuery操作表单;应用jQuery简化传统Ajax应用代码;最后通过分析讲解目前流行的Web应用典型例子,便于读者从实际的开发角度进一步理解jQuery在实际Web应用中的重要性,例子如下。
(1) 制作动态网页导航条。
(2) 制作异步网页选项卡效果。
(3) 验证用户名重复自动提示。
第9章详细讲解了Web应用常用的MD5加密技术、在线编辑器KindEditor、图片验证码的实现与应用。给出了最终封装好的MD5加密函数;详细分析了目前最为流行的KindEditor在线编辑器的使用方法,内容涉及:在ASP.NET页面中使用KindEditor、单独使用KindEditor实现文件上传功能、使用KindEditor批量上传图片、使用KindEditor实现浮窗登录,操作简单,功能非常实用;最后详细分析了ASP.NET中图片验证码技术的原理及实现代码,并以登录页面引用图片验证码为例子来说明验证码的具体使用方法,本章节属于重点章节。
第10章详细讲解了ASP.NET MVC 4开发模式。从MVC与Web Form的区别与联系开始,详细分析了ASP.NET MVC 的运行结构与运行原理以及在Visual Studio 2012中创建MVC 4 Web程序的流程步骤,然后通过实例详细分析了Models、Controllers、Views的概念原理和使用方法,包括URL路由规则、默认路由、自定义路由、自定义Models、Controllers、Views的操作方法。然后以一个简单的学生信息展示为例,演示结合数据库开发应用来创建一个ASP.NET MVC4 Web应用程序的流程步骤,例子虽然小,但功能比较齐全。最后通过ASP.NET中的System.Data.DataTable详细分析了数据分页功能以及代码实现。
第11章详细讲解了使用ASP.NET MVC4模式,开发企业宣传网站系统应该涉及的各个知识点和设计思路,其中包括前台信息处理和后台管理程序的制作方法以及Models、Views、Controllers的设计方法。本章实例用到了本书前面讲解的控件、CSS、jQuery应用、MVC4架构模式、DBHelper类等知识点,由于前面已经详细讲解了这些内容,故本章主要是讲解综合应用以及MVC4架构模式,代码分析没有具体到每一行,其实,读者如果认真阅读了本书前面章节的内容,本章的程序代码相信应该是不难理解的。实例项目:企业宣传网站系统,读者可以稍加修改便可以直接使用。
本书适合读者有:ASP.NET初学者,动态网站设计人员,ASP.NET、ADO.NET、MVC4 Web程序设计开发人员,对ASP.NET技术感兴趣的人员,大中专院校师生。
作者在多年的教学和项目开发过程中,积累了丰富的项目实战经验,同时,经常分析解决学员在工作中碰到的各种问题,全书也将这些经验融入各个章节中,所以本书非常方便读者自学。
本书由段克奇主编,参加编写的还有王小红、林天鸽。限于作者水平有限,书中难免有些不足之处,恳请广大读者提出宝贵的意见和建议。
编者
?2013年6月
第1章?Visual Studio 2012开发环境 1
1.1?Web程序设计语言的产生背景 2
1.1.1?Web概述 2
1.1.2?Web应用程序的工作原理 2
1.1.3?Web程序设计语言 3
1.2?使用Visual Studio 2012开发
ASP.NET程序 4
1.2.1?网站与Web应用程序 4
1.2.2?第一个ASP.NET程序 4
1.2.3?ASP.NET程序调试方法 8
1.2.4?轻松给Visual Studio 2012换肤 8
1.3?.NET Framework与C# 10
1.3.1?什么是.NET Framework 10
1.3.2?Visual Studio 2012与C# 11
1.4?ASP.NET运行环境 12
1.4.1?使用IIS管理aspx页面 12
1.4.2?使用Visual Studio 2012
管理aspx页面 13
1.4.3?ASP.NET页面代码模型
编译机制 13
1.4.4?ASP.NET开发要求 16
1.5?使用ASP.NET的缘由 16
1.5.1?C#编程语言 17
1.5.2?内容和代码分离 17
1.5.3?ASP.NET丰富的Web控件 17
1.5.4?验证功能特色控件 18
1.6?本章小结 18
1.7?思考练习题 18
第2章?Web窗体服务器控件 19
2.1?概述 20
2.1.1?HTML控件 20
2.1.2?Web服务器控件 20
2.1.3?验证控件 20
2.1.4?用户控件 21
2.2?Web基本控件 21
2.2.1?概述 21
2.2.2?Label 22
2.2.3?TextBox 23
2.2.4?Button、ImageButton、
LinkButton 26
2.2.5?HyperLink 32
2.2.6?Image 34
2.2.7?RadioButton 34
2.2.8?CheckBox 36
2.2.9?Panel 38
2.2.10?实例分析:实现一个会员
注册Web窗体页面的设计 38
2.2.11?小结 43
2.3?Web绑定控件 43
2.3.1?数据绑定概念 43
2.3.2?RadioButtonList 43
2.3.3?CheckBoxList 54
2.3.4?DropDownList 60
2.3.5?ListBox 63
2.3.6?实例分析:使用DropDownList
完成省市地区选择功能 68
2.3.7?实例分析:使用ListBox完成
一个职位选择功能 71
2.3.8?小结 75
2.4?验证控件 75
2.4.1?数据验证概述 75
2.4.2?RequiredFieldValidator验证
控件 76
2.4.3?RangeValidator验证控件 79
2.4.4?CompareValidator验证控件 82
2.4.5?RegularExpressionValidator
验证控件 88
2.4.6?CustomValidator验证控件 90
2.4.7?ValidationSummary验证总结
控件 93
2.4.8?小结 95
2.5?复杂控件 95
2.5.1?Web Table控件 95
2.5.2?Calendar日历控件 101
2.6?在ASP.NET中实现文件上传 103
2.6.1?FileUpload Web 服务器
控件概述 103
2.6.2?简单文件上传 104
2.6.3?受限制的文件上传 105
2.7?本章小结 108
2.8?思考练习题 108
第3章?ASP.NET对象 109
3.1?ASP.NET内置对象功能概要 110
3.1.1?概述 110
3.1.2?ASP.NET对象和ASP对象
的区别 110
3.1.3?Page对象 111
3.2?Response对象 113
3.2.1?Response对象功能描述 113
3.2.2?常用方法和属性 113
3.3?Request对象 115
3.3.1?Request对象功能描述 115
3.3.2?常用集合 115
3.4?ASP.NET?Cookie 117
3.4.1?Cookie概述 118
3.4.2?Cookie的限制 119
3.4.3?写入Cookie 119
3.4.4?多值Cookie 120
3.4.5?控制Cookie的范围 120
3.4.6?读取Cookie 121
3.4.7?修改Cookie 122
3.4.8?删除Cookie 122
3.4.9?Cookie和安全性 123
3.4.10?实例分析:使用Cookie完成
一个会员登录系统 123
3.5?Server对象 127
3.5.1?Server对象功能描述 127
3.5.2?常用方法和属性 127
3.6?Session对象 130
3.6.1?Session对象功能描述 130
3.6.2?定义和使用Session 130
3.6.3?实例分析:使用Session完成
一个会员登录系统 131
3.7?本章小结 134
3.8?思考练习题 134
第4章?ADO.NET详解 135
4.1?ADO.NET概述 136
4.1.1?ADO.NET 的设计目标 136
4.1.2?ADO和ADO.NET 137
4.1.3?ADO.NET命名空间基础 140
4.1.4?ADO.NET 3.0新特性 141
4.2?.NET Framework数据提供程序 142
4.2.1?.NET Framework数据提供
程序概述 142
4.2.2?ODBC数据提供程序 143
4.2.3?OLE DB数据提供程序 145
4.2.4?SQL Server数据提供程序 146
4.2.5?Oracle数据提供程序 147
4.3?操作数据库 148
4.3.1?ADO.NET对象模型 148
4.3.2?Connection 150
4.3.3?Command 152
4.3.4?Parameter 164
4.3.5?DataReader 168
4.3.6?连接池的应用 173
4.4?DataTable 174
4.4.1?定义DataTable 架构 175
4.4.2?给DataTable中添加
数据行DataRow 175
4.4.3?DataTable应用完整举例 176
4.4.4?定义主键 177
4.4.5?定义表达式列 178
4.4.6?维护已创建的DataTable 178
4.5?DataSet 178
4.5.1?DataSet概述 178
4.5.2?创建DataSet数据集 180
4.5.3?给DataSet添加DataTable 180
4.5.4?删除DataSet中的DataTable 182
4.6?DataAdapter 182
4.6.1?DataAdapter概述 183
4.6.2?SqlDataAdapter对象概述 183
4.6.3?创建SqlDataAdapter 184
4.6.4?通过SqlDataAdapter填充
DataSet 184
4.6.5?通过SqlDataAdapter更新
数据库信息 185
4.7?DataView 187
4.7.1?DataView对象概述 187
4.7.2?创建DataView对象 188
4.7.3?使用DataView对象显示数据 189
4.8?操作XML文件 192
4.8.1?XML文件概述 192
4.8.2?读XML文件 194
4.8.3?写XML文件 195
4.8.4?小结 199
4.9?连接数据库的公共类DB.class 199
4.10?本章小结 202
4.11?思考练习题 203
第5章?数据处理控件GridView 204
5.1?GridView控件功能概述 205
5.2?创建数据库 205
5.3?使用GridView列表显示数据 205
5.4?修改列标题 210
5.5?启用分页和排序功能 211
5.6?使用自动套用格式 212
5.7?使用GirdView编辑、删除
数据操作 212
5.8?完善GridView删除功能 216
5.9?完善GridView编辑功能 217
5.9.1?转换模板列 217
5.9.2?完善系统生成的SqlDataSource
代码 218
5.9.3?修改GridView行高、列宽 222
5.9.4?处理姓名文本框编辑 223
5.9.5?处理性别单选按钮编辑 226
5.9.6?处理城市下拉列表编辑 227
5.10?本章小结 230
5.11?思考练习题 230
第6章?ASP.NET开发模式选择 231
6.1?WebForm窗体控件开发模式 232
6.2?MVC开发模式 232
6.2.1?相对于WebForm模式,MVC
框架开发模式的优势 232
6.2.2?相对于WebForm模式,MVC
框架开发模式的缺点 233
6.3?三层架构 233
6.4?使用原生态Web表单 234
6.5?本章小结 234
6.6?思考练习题 234
第7章?编码规范及DBHelper类 235
7.1?编码规范 236
7.1.1?命名规范 236
7.1.2?文件夹命名 236
7.1.3?ASP.NET 网站中的共享
代码文件夹 237
7.1.4?文件命名 239
7.1.5?标识符命名 242
7.1.6?控件命名 245
7.1.7?注释规范 246
7.1.8?XML文档注释 247
7.1.9?小结 254
7.2?数据库操作通用类DBHelper 254
7.2.1?建立数据库连接GetConn 254
7.2.2?标准SQL语句操作的方法 255
7.2.3?使用存储过程操作的方法 256
7.2.4?完整DBHelper源代码 258
7.3?应用DBHelper类举例 262
7.3.1?读取表test数据 263
7.3.2?删除表test数据 265
7.4?本章小结 266
7.5?思考练习题 266
第8章?在ASP.NET中使用jQuery技术 267
8.1?jQuery概述 268
8.1.1?jQuery简介 268
8.1.2?下载 jQuery 268
8.1.3?jQuery前导课程 268
8.1.4?jQuery库特性 268
8.1.5?jQuery发展前沿 269
8.1.6?jQuery能做什么 269
8.2?jQuery选择器 270
8.2.1?文档就绪函数 270
8.2.2?核心函数$() 271
8.2.3?元素选择器 271
8.2.4?样式选择器 271
8.2.5?属性选择器 273
8.2.6?更多选择器举例 273
8.3?jQuery事件 273
8.3.1?代码执行时机选择 274
8.3.2?简写$(document).ready() 274
8.3.3?常用事件函数 274
8.3.4?单独文件中的函数 275
8.3.5?jQuery 名称冲突 275
8.3.6?遵循原则 276
8.4?jQuery动态效果函数 276
8.4.1?jQuery显示隐藏函数 276
8.4.2?jQuery切换toggle()函数 277
8.4.3?jQuery 滑动函数 281
8.4.4?jQuery 淡入淡出函数 281
8.5?jQuery HTML操作 283
8.5.1?改变 HTML 内容 283
8.5.2?添加 HTML 内容 284
8.5.3?jQuery HTML 操作总结 285
8.6?jQuery操作表单 285
8.6.1?操作文本框(text) 285
8.6.2?操作单选按钮(radio) 286
8.6.3?操作复选框(checkbox) 286
8.6.4?操作下拉列表(select) 287
8.7?jQuery与Ajax 288
8.7.1?什么是 Ajax 288
8.7.2?Ajax和jQuery 288
8.7.3?使用load方法 288
8.7.4?使用get方法 290
8.7.5?使用post方法 290
8.8?jQuery应用举例 290
8.8.1?制作动态网页导航条 290
8.8.2?制作异步网页选项卡效果 292
8.8.3?验证用户名重复自动提示 296
8.9?本章小结 297
8.10?思考练习题 297
第9章?MD5加密、KindEditor、
图片验证码 299
9.1?在ASP.NET中应用MD5加密技术 300
9.1.1?MD5加密技术概述 300
9.1.2?ASP.NET中的加密算法 300
9.1.3?MD5方法封装 300
9.2?使用KindEditor在线编辑器 301
9.2.1?KindEditor概述及下载地址 301
9.2.2?在ASP.NET页面中使用
KindEditor 301
9.2.3?单独使用KindEditor实现
文件上传功能 304
9.2.4?使用KindEditor批量上传图片 306
9.2.5?使用KindEditor实现浮窗登录 309
9.3?图片验证码技术 310
9.3.1?随机产生字符串 310
9.3.2?把随机生成的字符串转换成
图片输出 312
9.3.3?使用Session记录随机字符串 313
9.3.4?登录页面引用验证码及
程序实现 313
9.4?本章小结 317
9.5?思考练习题 318
第10章?ASP.NET MVC 4开发模式 319
10.1?MVC 和 Web Form 320
10.2?ASP.NET MVC 的运行结构 320
10.3?ASP.NET MVC 原理 322
10.3.1?ASP.NET MVC 运行流程 322
10.3.2?ASP.NET MVC 工作原理 323
10.4?在Visual Studio 2012中创建
MVC 4 Web程序 324
10.4.1?创建Study_MVC4_Solution
项目解决方案 324
10.4.2?添加MVC 4 Web程序 325
10.5?理解控制器 327
10.5.1?控制器作用 327
10.5.2?控制器动作结果 328
10.5.3?创建控制器 330
10.5.4?创建自定义动作 332
10.5.5?阻止公共方法被调用 332
10.6?URL路由 333
10.6.1?一个URL并不等同于
一个页面 333
10.6.2?理解URL路由 333
10.6.3?创建自定义路由 334
10.6.4?创建路由约束 335
10.7?理解视图 336
10.7.1?视图的作用 337
10.7.2?理解<%: ViewBag.Message %> 338
10.7.3?理解<%: Html.ActionLink
("主页", "Index", "Home") %> 339
10.8?理解模型 339
10.9?开发MVC 4 Web程序应用举例 340
10.10?数据分页显示 346
10.11?本章小结 352
10.12?思考练习题 353
第11章?MVC 4项目举例
(企业宣传网站) 355
11.1?企业宣传网站功能分析 356
11.1.1?功能概述 356
11.1.2?企业宣传网站前台部分
页面设计预览 356
11.1.3?企业宣传网站后台部分
页面设计预览 359
11.2?数据库设计与创建 362
11.2.1?数据库设计思路 362
11.2.2?浏览表结构 362
11.2.3?数据库完整创建脚本 364
11.3?企业宣传网站MVC 4模式设计 364
11.3.1?系统项目文件预览 364
11.3.2?项目文件架构 365
11.3.3?应用DBHelper类和
Common类 368
11.4?网站后台管理系统 374
11.4.1?后台登录功能 374
11.4.2?后台主框架页面 379
11.4.3?系统参数功能设置 385
11.4.4?设置固定信息 389
11.4.5?添加类别 394
11.4.6?管理类别 397
11.4.7?添加新闻 403
11.4.8?管理新闻 408
11.4.9?添加友情链接 418
11.4.10?管理友情链接 422
11.4.11?修改口令 430
11.4.12?退出系统 432
11.5?网站前台主页index.html设计 432
11.5.1?前台主页index.html预览效果 432
11.5.2?前台主页index.html
样式css文件 433
11.5.3?主页index.html顶部导航设计 435
11.5.4?主页index.html焦点图部分 436
11.5.5?主页index.html中间内容
显示设计 436
11.5.6?底部滚动图显示效果设计 437
11.5.7?主页index.html底部信息设计 439
11.6?网站前台功能实现 440
11.6.1?前台顶部top、底部foot
用户控件页面 440
11.6.2?前台主页 443
11.6.3?最新动态 447
11.6.4?最新动态详细 452
11.6.5?产品展示 456
11.6.6?产品展示详细 456
11.6.7?关于我们 456
11.7?本章小结 459
11.8?思考练习题 460