ASP.NET 3.5揭秘(卷1)

分類: 图书,计算机/网络,程序设计,ASP,
作者: (美)沃尔瑟著,谭振林等译
出 版 社: 人民邮电出版社
出版时间: 2009-2-1字数: 1285000版次: 1页数: 750印刷时间: 2009/02/01开本: 大16开印次: 1纸张: 胶版纸I S B N : 9787115194251包装: 平装编辑推荐
微软技术大师力作,涵盖ASP.NET 3.5 所有新特性,代码密集,提供C#和VB.NET两种版本,ASP.NET之父强烈推荐,无可争议的圣经级巨著。
本书是有史以来最成功的ASP.NET著作最新版,有“ASP.NET圣经”之誉。作者因为这一系列著作而荣获微软公司社区最高技术荣誉“微软传奇人物”称号。在国内,本书以前的版本也影响了整整一代ASP.NET程序员。
在新版中,作者继承了使本书享誉世界的循序渐进、深入浅出、详尽全面和代码密集等诸多优点。与此同时,作者添加了大量新内容,以涵盖ASP.NET 3.5引入的所有新特性,包括使用LINQ to SQL更轻松地构建数据驱动的网站,使用新的数据访问控件ListView和DataPager开发更加灵活的用户体验,和整整3章全面剖析ASP.NET AJAX。卷1是基础篇,主要讲述如何创建ASP.NET页面、设计ASP.NET网站、数据访问、创建组件、站点导航等。除了广泛令人称道的清晰透彻的阐述文字之外,本书的代码示例处处堪称经典,体现了作者世界级大师的深厚功力。中文版所有代码示例都用C#语言来描述,并同时在网站www.superexpert.com/中提供C#和VB.NET代码。
本书既是绝佳的学习资源,也是你肯定会不断查阅的必备参考书。
内容简介
本书是享有盛誉的ASP.NET经典名著,涵盖了ASP.NET 3.5的方方面面,包括了所有最新的特性。书中详细介绍了微软LINQ to SQL数据库查询技术,以及ListView和DataPager两种新的数据访问控件等技术。本书作者Stephen Walther是ASP界的名人,是微软公司的ASP.NET MVP,荣获微软“软件传奇人物”称号(微软技术社区的最高荣誉),曾经开发了许多示范性应用程序。
本书适合所有ASP.NET开发人员阅读。
作者简介
Stephen Walther是蜚声世界的ASP.NET专家、微软的MVP,并荣获微软公司社区最高技术荣誉“微软传奇人物”称号。他曾经开发的Ra.RASP.NEF示范性应用程序ASP.NETCommunityStalerKit,麻省理工学院、斯坦福大学和哈佛大学等200多所大学使用的Collegescape应用程序,以及拍卖网站www.cityauction.com等,都已经成为经典。
目录
第一部分构建ASP.NET页面
第1章ASP.NET Framework概览
1.1ASP.NET和.NET Framework
1.1.1框架类库
1.1.2公共语言运行库
1.2ASP.NET控件
1.2.1ASP.NET控件概览
1.2.2HTML控件
1.2.3理解和处理控件事件
1.2.4视图状态
1.3ASP.NET页面
1.3.1动态编译
1.3.2控件树
1.3.3使用代码隐藏页面
1.3.4处理页面事件
1.3.5使用Page.IsPostBack属性
1.3.6调试和跟踪ASP.NET页面
1.3.7跟踪页面执行
1.4安装ASP.NET Framework
1.5小结
第2章使用标准控件
2.1显示信息
2.1.1使用Label控件
2.1.2使用Literal控件
2.2接收用户输入
2.2.1使用TextBox控件
2.2.2使用CheckBox控件
2.2.3使用RadioButton控件
2.3提交表单数据
2.3.1使用Button控件
2.3.2使用LinkButton控件
2.3.3使用ImageButton控件
2.3.4Button控件使用客户端脚本
2.3.5执行跨页面发送
2.3.6指定默认按钮
2.3.7处理Command事件
2.4显示图像
2.4.1使用Image控件
2.4.2使用ImageMap控件
2.5使用Panel控件
2.6使用HyperLink控件
2.7小结
第3章使用验证控件
3.1验证控件概述
3.1.1验证控件与JavaScript
3.1.2使用Page.IsValid
3.1.3设置Display属性
3.1.4突出显示验证错误
3.1.5使用验证组
3.1.6禁用验证
3.2使用RequiredFieldValidator控件
3.3使用RangeValidator控件
3.4使用CompareValidator控件
3.5使用RegularExpressionValidator控件
3.6使用CustomValidator控件
3.7使用ValidationSummary控件
3.8创建自定义验证控件
3.8.1创建LengthValidator控件
3.8.2创建AjaxValidator控件
3.9小结
第4章使用Rich控件
4.1接收上传文件
4.1.1把文件保存到文件系统
4.1.2把文件保存到数据库
4.1.3上传大文件
4.2显示日历
4.2.1创建弹出式日期选择器
4.2.2根据数据库表呈现日历
4.3显示广告
4.3.1在XML文件中保存广告
4.3.2在数据库表中存储广告
4.3.3跟踪显示和转到
4.4显示不同的页面视图
4.4.1显示选项卡式页面视图
4.4.2显示多部分表单
4.5显示向导
4.6小结
第二部分设计ASP.NET网站
第5章使用母版页设计网站
5.1创建母版页
5.1.1创建默认内容
5.1.2嵌套母版页
5.1.3在母版页中使用图片和超链接
5.1.4在Web配置文件中注册母版页
5.2修改母版页内容
5.2.1使用Title属性
5.2.2使用Page Header属性
5.2.3暴露母版页属性
5.2.4对母版页使用FindControl方法
5.3动态加载母版页
5.4小结
第6章使用主题设计网站
6.1创建主题
6.2在主题中添加皮肤
6.2.1创建命名皮肤
6.2.2Themes与StyleSheetThemes
6.2.3禁用主题
6.2.4在Web配置文件中注册主题
6.3在主题中添加CSS
6.3.1在主题中添加多个CSS
6.3.2使用CSS改变页面布局
6.4创建全局主题
6.5动态应用主题
6.6小结
第7章使用用户控件创建定制控件
7.1创建用户控件
7.1.1在Web配置文件中注册用户控件
7.1.2暴露用户控件的属性
7.1.3暴露用户控件的事件
7.1.4创建AddressForm控件
7.2Ajax和用户控件
7.3动态加载用户控件
7.3.1使用引用指令
7.3.2创建多页面向导
7.4小结
第三部分数据访问
第8章数据访问概述
8.1使用DataBound控件
8.1.1使用列表控件
8.1.2使用表格式DataBound控件
8.1.3使用层次DataBound控件
8.1.4使用其他数据绑定控件
8.2使用DataSource控件
8.3使用编程式数据绑定
8.4模板和数据绑定表达式
8.4.1使用模板
8.4.2使用数据绑定表达式
8.4.3使用两种数据绑定表达式
8.5SQL Server 2005 Express 概述
8.5.1SQL Server Express 特性
8.5.2SQL Server 2005 Express管理工具
8.5.3服务器端数据库与本地数据库
8.6数据库驱动的Web应用程序示例
8.7小结
第9章使用SqlDataSource控件
9.1创建数据库连接
9.1.1连接到Microsoft SQL Server
9.1.2连接到其他数据库
9.1.3在Web配置文件中保存连接字符串
9.1.4对连接字符串加密
9.2执行数据库命令
9.2.1执行内联SQL语句
9.2.2执行存储过程
9.2.3过滤数据库行
9.2.4改变数据源模型
9.2.5处理SQL命令执行错误
9.2.6取消SQL命令执行
9.3在SqlDataSource控件中使用ASP.NET参数
9.3.1使用ASP.NET参数对象
9.3.2使用ASP.NET的Control-Parameter对象
9.3.3使用ASP.NET的Cookie-Parameter对象
9.3.4使用ASP.NET的Form-Parameter对象
9.3.5使用ASP.NET的Profile-Parameter对象
9.3.6使用QueryStringParameter对象
9.3.7使用SessionParameter对象
9.4通过程序执行SqlDataSource命令
9.4.1添加ADO.NET参数
9.4.2执行Insert、Update和Delete命令
9.4.3执行select命令
9.5使用SqlDataSource控件缓存数据库数据
9.6小结
第10章使用List控件
10.1List控件概述
10.1.1声明列表项
10.1.2绑定到数据源
10.1.3确定被选中的列表项
10.1.4追加数据项
10.1.5启用自动回传
10.1.6使用列表项集合
10.2使用DropDownList控件
10.3使用RadioButtonList控件
10.4使用ListBox控件
10.5使用CheckBoxList控件
10.6使用BulletedList控件
10.7创建自定义的List控件
10.8小结
第11章使用GridView控件
11.1GridView控件基础
11.1.1显示数据
11.1.2选择数据
11.1.3使用数据键
11.1.4数据排序
11.1.5数据分页
11.1.6编辑数据
11.1.7显示空数据
11.1.8格式化GridView控件
11.1.9在GridView控件中使用ViewState
11.2在GridView控件中使用字段
11.2.1使用BoundField
11.2.2使用CheckBoxField
11.2.3使用CommandField
11.2.4使用ButtonField
11.2.5使用HyperLinkField
11.2.6使用ImageField
11.2.7使用TemplateField
11.3GridView控件的事件
11.3.1突出显示GridView行
11.3.2显示列汇总
11.3.3显示嵌套的主从表单
11.4扩展GridView控件
11.4.1创建长文本字段
11.4.2创建删除按钮字段
11.4.3创建验证字段
11.5小结
第12章使用DetailsView控件和FormView控件
12.1使用DetailsView控件
12.1.1使用DetailsView控件显示数据
12.1.2在DetailsView控件中使用字段
12.1.3使用DetailsView控件显示空数据
12.1.4使用DetailsView控件对数据分页
12.1.5使用DetailsView控件更新数据
12.1.6使用DetailsView控件插入数据
12.1.7使用DetailsView控件删除数据
12.1.8DetailsView控件的事件
12.1.9格式化DetailsView控件
12.2使用FormView控件
12.2.1使用FormView控件显示数据
12.2.2使用FormView控件对数据分页
12.2.3使用FormView控件编辑数据
12.2.4使用FormView控件中插入数据
12.2.5使用FormView控件删除数据
12.3小结
第13章使用Repeater控件和DataList控件
13.1使用Repeater控件
13.1.1使用Repeater控件显示数据
13.1.2在Repeater控件中使用模板
13.1.3Repeater控件的事件处理
13.2使用DataList控件
13.2.1使用DataList控件显示数据
13.2.2在多列中显示数据
13.2.3在DataList控件中使用模板
13.2.4使用DataList控件选择数据
13.2.5使用DataList控件编辑数据
13.2.6格式化DataList控件
13.3小结
第14章使用ListView和DataPager控件
14.1使用ListView控件
14.1.1使用LayoutTemplate和ItemTemplate
14.1.2使用GroupTemplate
14.1.3选择一行
14.1.4排序数据库数据
14.1.5编辑数据库数据
14.2使用DataPager控件
14.2.1创建自定义分页用户界面
14.2.2使用DataPager控件进行数据源分页
14.3小结
第四部分创建组件
第15章创建组件
15.1创建基本组件
15.1.1组件和动态编译
15.1.2App_Code文件夹中不同语言的组件
15.1.3声明方法
15.1.4声明字段和属性
15.1.5声明构造函数
15.1.6重载方法和构造函数
15.1.7声明命名空间
15.1.8创建部分类
15.1.9继承和MustInherit类
15.1.10声明接口
15.1.11使用访问修饰符
15.1.12智能提示和组件
15.1.13在组件中使用ASP.NET内部对象
15.2创建组件库
15.2.1编译组件库
15.2.2向类库中添加引用
15.3构架思考
15.3.1创建多层应用程序
15.3.2创建用户界面层
15.3.3创建业务逻辑层
15.3.4创建数据访问层
15.4小结
第16章使用ObjectDataSource控件
16.1使用ObjectDataSource控件表示对象
16.1.1绑定到组件
16.1.2绑定到DataReader
16.1.3绑定到DataSet
16.1.4绑定到LINQ to SQL查询
16.1.5绑定到Web服务
16.2使用ObjectDataSource控件与参数
16.2.1使用不同的参数类型
16.2.2作为参数传递对象
16.3使用ObjectDataSource控件分页、排序和过滤数据
16.3.1用户界面分页
16.3.2数据源分页
16.3.3用户界面排序
16.3.4数据源排序
16.3.5过滤数据
16.4处理ObjectDataSource控件的事件
16.4.1添加和修改参数
16.4.2处理方法的执行错误
16.4.3处理ObjectCreating事件
16.5ObjectDataSource控件与并发访问
16.6扩展ObjectDataSource控件
16.6.1创建自定义的ObjectData- Source控件
16.6.2创建自定义参数对象
16.7小结
第17章创建数据访问组件
17.1连接模式数据访问
17.1.1使用Connection对象
17.1.2使用Command对象
17.1.3使用DataReader对象
17.2非连接模式数据访问
17.2.1使用DataAdapter对象
17.2.2使用DataTable对象
17.2.3使用DataView对象
17.2.4使用DataSet对象
17.3执行异步数据库命令
17.3.1使用异步ADO.NET方法
17.3.2使用异步ASP.NET页面
17.4使用.NET Framework创建数据库对象
17.4.1启用CLR(通用语言运行时)集成
17.4.2使用.NET Framework创建用户自定义类型
17.4.3使用用户自定义类型创建数据访问层
17.4.4使用.NET Framework创建存储过程
17.4.5创建存储过程程序集
17.5小结
第18章使用LINQ to SQL访问数据库
18.1C#和VB.NET的新特性
18.1.1理解自动属性
18.1.2理解初始化列表
18.1.3理解类型推断
18.1.4理解匿名类型
18.1.5理解泛型
18.1.6理解Lambda表达式
18.1.7理解扩展方法
18.1.8理解LINQ
18.2创建LINQ to SQL实体
18.2.1手工创建实体
18.2.2使用Object Relational Designer创建实体
18.2.3构建实体关联
18.2.4使用LinqDataSource控件
18.3使用LINQ to SQL执行标准数据库命令
18.3.1LINQ to Objects与LINQ to SQL
18.3.2使用LINQ to SQL进行选择
18.3.3使用LINQ to SQL进行插入
18.3.4使用LINQ to SQL进行更新
18.3.5使用LINQ to SQL进行删除
18.3.6动态查询
18.3.7调试LINQ to SQL
18.4创建自定义的LINQ实体基类
18.4.1使用实体基类
18.4.2使用EntityBase类执行标准数据访问操作
18.4.3用EntityBase类执行验证
18.5小结
第五部分站点导航
第19章使用导航控件
19.1理解站点地图
19.2使用SiteMapPath控件
19.3使用Menu控件
19.3.1声明式添加Menu条目
19.3.2组合使用Menu控件和MultiView控件
19.3.3绑定到站点地图
19.3.4绑定到XML文件
19.3.5绑定到数据库数据
19.3.6定制Menu控件
19.3.7使用Menu控件的模板
19.4使用TreeView控件
19.4.1声明式地添加树视图节点
19.4.2在TreeView控件中显示复选框
19.4.3绑定到站点地图
19.4.4绑定到XML文件
19.4.5绑定到数据库数据
19.4.6使用延时加载和Ajax
19.4.7定制TreeView控件
19.5创建分层的SQL数据源控件
19.6小结
第20章使用站点地图
20.1使用SiteMapDataSource控件
20.2使用SiteMap类
20.3高级站点地图配置
20.3.1使用安全修整
20.3.2合并多个站点地图
20.3.3创建自定义的站点地图属性
20.4创建自定义站点地图提供程序
20.4.1创建AutoSiteMapProvider
20.4.2创建SqlSiteMapProvider
20.5创建Google的SiteMap文件
20.6小结
第21章高级页面导航
21.1重映射URL
21.2使用VirtualPathProvider类
21.2.1VirtualPathProvider类的局限性
21.2.2理解VirtualPathProvider类
21.2.3注册VirtualPathProvider类
21.2.4将网站存储在微软SQL Server数据库中
21.3小结
媒体评论
“这是一部杰作,极为详细地讲述了ASP.NET的方方面面。本书卓尔不群之处正在于,它提供给大量短小而精准的高质量代码,不仅很好地剖析了各种特性的工作机理,而且演示了如何在实战中使用这些特性。……需要真正可靠和详尽的ASP.NET参考吗?我强烈推荐本书。”——Scott Guthrie,ASP.NET之父,微软公司副总裁“本书涵盖了ASP.NET程序员所需要的一切知识,深度无与伦比,绝对不容错过。别忘了,作者可是微软传奇英雄,我们所有ASP.NET开发者的偶像。”——David Betz,微软MVP
书摘插图
第1章ASP.NET Framework概览
1.1 ASP.NET和.NET Framework
ASP.NET是微软.NET Framework的一部分。要构建ASP.NET页面,需要利用.NET Framework的特性。.NET Framework由两部分组成:框架类库(Framework Class Library)和公共语言运行库。
1.1.1框架类库
.NET Framework包含成千上万能用于构建应用程序的类。框架类库被设计用来使最普通的编程任务更易于完成。下面是框架中的几个类:
File类——用于表示硬盘中的文件。可以使用Flle类来检测文件是否存在、新建文件、删除文
件和完成更多与文件操作相关的任务。
GraphiC5类——用于完成与各种类型图像(比如GIF、PNG、BMP和JPEG图像)相关的工作。
GraphiCS类可用于在一个图像中绘制矩形、弧形、椭圆和其他各种元素。
Random类——用于生成随机数。
SmtpCl lent类——用于发送电子邮件。SmtpCl ient类可用于发送包含附件和HTML内容的电子邮件。
……
