
本书以C#语言和ASP.NET为主线介绍网络程序设计方法,内容包括C#基础知识,使用ASP.NET构建基本Web页面,建立Web站点所必备的主题、母版页和站点导航知识,使用数据源控件、ADO.NET对象和数据绑定控件构建数据库应用,以及AJAX、LINQ、状态维护等高级技术。
本书内容安排合理、语言浅显易懂、条理清晰、图文并茂、实例丰富,具有很强的实用性,可作为高等院校计算机专业、软件工程专业以及非计算机类专业的教材,也可作为相关技术人员的参考书。
随着网络的普及,各种网络应用如雨后春笋般涌现出来,像网络购物、网络办公、网络游戏、网络视频、网络音乐等网络应用数不胜数。在这股网络应用大潮中,ASP.NET成为网络应用程序开发的主流技术之一。借助ASP.NET,用户可以轻松地构建内容丰富、功能强大、更专业的企业级网站。ASP.NET凭其简单易学、功能强大、开发效率高、可扩展性好、性能优良等优点,吸引了大量的程序员投入到ASP.NET阵营中来。
随着微软对ASP.NET不断改进和升级,ASP.NET的技术含量和复杂性也越来越高,其工作领域也越来越宽广,对开发者的要求也越来越高。如何适应这种新形势,让更多开发者更快地走进ASP.NET,成为摆在我们面前不可忽视的问题。本书本着由浅入深、循序渐进的原则,从构建页面的基本知识入手,渐进到网站设计,然后在数据库应用及编程水平上进一步提高,最后以一些网站设计的高级技术收尾。在内容安排上提供大量的实例,对每个知识点安排浅显易懂、接近实用的小样例,使读者容易理解,容易模仿。每一章末把这些知识点串联起来,形成一个规模稍大一点的实例,以方便读者融会贯通、灵活应用。在全书的末尾把每一章的知识点和实例串联起来,形成一个有实用价值的综合实例,讲授如何整合ASP.NET的方方面面来构建一个功能丰富的独立网站,使读者获得综合应用能力。
全书分为3个部分,共13章。第1部分为开发ASP.NET页面的基础篇,包括第1~3章; 第2部分为开发网站的基础篇,包括第4~9章; 第3部分为开发网站的提高篇,包括第10~13章。其中,第1章讲述Microsoft.NET平台,以及如何利用Visual Studio.NET集成开发环境开发控制台应用程序和Web应用程序; 第2章讲述C#语言基础知识; 第3章讲述ASP.NET页面模型、事件模型,以及构建ASP.NET页面的服务器控件; 第4章讲述利用主题和外观定制网站的风格; 第5章讲述利用母版页使网站中的页面具有一致的结构; 第6章讲述利用数据源控件操作数据库中的数据; 第7章讲述利用ADO.NET对象操作数据库中的数据; 第8章讲述利用数据绑定控件显示和编辑数据库中的数据; 第9章讲述利用站点地图和网站导航控件构建网站导航系统; 第10章讲述利用LINQ操作内存中和数据库中的数据; 第11章讲述ASP.NET提供的状态维护机制; 第12章讲述利用ASP.NET AJAX技术异步刷新页面,从而为Web应用程序提供一种更丰富、更吸引人的体验; 第13章通过一个综合实例讲述如何整合所学知识构建一个完整的网站。
本书所提供的程序代码均在Visual Studio.NET 2008、SQL Server 2005 Express和Windows XP环境下调试通过。有需要的读者可通过清华大学出版社网站(www.tup.com.cn)下载。
本书由杨晓光、王作为、谢玉芯和丁刚编写。杨晓光编写了第1~3章和第13章,王作为编写了第10~12章,谢玉芯编写了第6~8章,丁刚编写了第4、第5和第9章。另外,叶华、郑志荣、郭文平、马延宏、傅岚岚、杨晓君、杨亚红等参与了文字整理和程序调试工作。在此向他们表示衷心感谢。
由于作者水平有限,加之.NET技术博大精深,书中纰漏和考虑不周之处在所难免,敬请专家和读者批评指正。
编者
2012年11月
第1章.NET概述
1.1.NET平台
1.1.1.NET框架
1.1.2ASP.NET
1.1.3.NET开发工具
1.2创建第一个.NET程序
1.2.1创建第一个C#控制台程序
1.2.2创建第一个ASP.NET Web应用程序
1.2.3ASP.NET Web应用程序构成
1.3实训1——通讯录案例简介
1.4习题
第2章C#语言基础
2.1C#基础语法
2.1.1数据类型
2.1.2运算符与表达式
2.2流程控制语句
2.2.1选择语句
2.2.2循环语句
2.3C#面向对象编程
2.3.1类与对象
2.3.2类的成员
2.3.3继承
2.3.4分部类
2.4泛型与集合
2.5实训2——通讯录中的实体类
2.6习题
第3章建立ASP.NET页面
3.1ASP.NET页面模型
3.1.1单文件页面模型
3.1.2代码隐藏页模型
3.1.3页面运行机制
3.2ASP.NET页面事件模型
3.2.1事件模型概述
3.2.2页面生命周期
3.3ASP.NET服务器控件
3.3.1服务器控件概述
3.3.2常用服务器控件
3.3.3验证控件
3.4实训3——通讯录主页的实现
3.5习题
第4章为页面应用统一外观
4.1主题和外观基础知识
4.2创建主题
4.2.1主题的组织方式和创建方法
4.2.2创建外观
4.2.3在主题中使用CSS文件
4.2.4在主题中使用图像和其他资源
4.3应用主题
4.3.1为页面应用主题
4.3.2为Web应用程序应用主题
4.3.3以编程方式应用主题
4.4实训4——设计通讯录的主题
4.5习题
第5章构建站点页面结构
5.1母版页基础知识
5.1.1母版页的结构
5.1.2内容页的结构
5.1.3母版页与内容页的关系
5.2使用内容页和母版页
5.2.1创建母版页
5.2.2创建内容页
5.3母版页的应用范围
5.4母版页的嵌套
5.5母版页与内容页的交互
5.5.1从内容页访问母版页
5.5.2从母版页访问内容页
5.6编写程序动态应用母版页
5.7实训5——设计通讯录的母版页
5.8习题
第6章使用数据源控件操纵数据
6.1数据源控件简介
6.2SqlDataSource控件
6.2.1建立连接
6.2.2执行操作
6.2.3使用参数
6.2.4响应事件
6.3AccessDataSource控件
6.4ObjectDataSource控件
6.5实训6——通讯录两层体系结构的实现
6.6习题
第7章使用ADO.NET对象操纵数据
7.1ADO.NET基础知识
7.2连接数据库
7.2.1连接字符串
7.2.2建立连接
7.3执行SQL语句和存储过程
7.3.1执行SQL语句
7.3.2执行存储过程
7.3.3使用参数
7.4获取数据
7.4.1使用DataReader获取数据
7.4.2使用DataSet获取数据
7.5实训7——通讯录三层体系结构的数据访问层与业务逻辑层的实现
7.6习题
第8章使用数据绑定控件显示数据
8.1数据绑定概述
8.1.1数据绑定基础知识
8.1.2绑定列表类服务器控件
8.2GridView控件
8.2.1使用GridView控件显示数据
8.2.2分页显示数据
8.2.3使用GridView控件编辑数据
8.2.4使用GridView控件选择数据
8.2.5定制GridView控件
8.3DetailsView控件
8.3.1使用DetailsView控件显示和编辑数据
8.3.2使用DetailsView控件插入和删除数据
8.4FormView控件
8.4.1模板的基本知识
8.4.2创建模板
8.4.3利用模板显示数据
8.4.4利用模板编辑和插入数据
8.4.5切换模式
8.5ListView控件
8.5.1使用ListView控件显示数据
8.5.2使用ListView控件编辑数据
8.6实训8——使用数据绑定控件实现联系人管理
8.7习题
第9章站点导航
9.1站点地图
9.1.1站点地图基础知识
9.1.2使用SiteMapDataSource控件获取站点地图的数据
9.2使用SiteMapPath控件显示导航路径
9.2.1创建导航路径
9.2.2定制导航路径
9.3使用Menu控件显示菜单
9.3.1创建菜单
9.3.2定制菜单
9.3.3响应菜单事件
9.4显示树状结构的菜单
9.4.1TreeView控件概述
9.4.2创建树状菜单
9.4.3定制树状菜单
9.5传统导航方式
9.6实训9——通讯录导航系统的实现
9.7习题
第10章LINQ
10.1LINQ基础知识
10.2LINQ to Objects
10.2.1LINQ基本知识
10.2.2from子句
10.2.3select子句
10.2.4where子句
10.2.5联接
10.3LINQ to SQL
10.3.1LINQ to SQL基础知识
10.3.2LINQ to SQL对象模型
10.3.3使用LINQ to SQL访问数据库
10.4LinqDataSource控件
10.4.1使用LinqDataSource控件显示数据
10.4.2使用LinqDataSource控件编辑数据
10.5实训10——通讯录三层体系结构的LINQ实现
10.6习题
第11章状态维护
11.1状态维护概述
11.2回发和跨页发送
11.2.1回发
11.2.2跨页发送
11.3视图状态与控件状态
11.4Cookie
11.5应用程序状态
11.6会话状态
11.7习题
第12章ASP.NET AJAX
12.1ASP.NET AJAX基础知识
12.1.1什么是AJAX
12.1.2ASP.NET AJAX框架
12.2使用ASP.NET AJAX服务器控件
12.2.1ScriptManager控件
12.2.2UpdatePanel控件
12.2.3UpdateProgress控件
12.2.4Timer控件
12.3使用客户端脚本库
12.3.1类型系统
12.3.2客户端生命周期事件
12.3.3DOM元素引发的事件
12.4习题
第13章通讯录综合实例
13.1通讯录系统设计
13.1.1系统总体设计
13.1.2数据库设计
13.1.3系统体系结构设计
13.1.4解决方案
13.2创建实体类
13.3实现数据访问层
13.4实现业务逻辑层
13.5实现表示层
13.5.1母版页
13.5.2导航系统
13.5.3主题与外观
13.5.4主页
13.5.5联系人管理
13.5.6编辑联系人
13.5.7添加联系人
13.5.8移动联系人
13.5.9查询
13.5.10组管理
附录A习题答案