Programming ASP.NET中文版(第3版)

2013 年 1 月 6 日4200

内容简介

书籍
计算机书籍

  本书主要介绍.net平台和asp.net;html编程基础;比较aspasp.net;asp.net中的事件;比较html控件和asp控件;基本的asp控件apl;代码隐藏窗体:使用visual studio.net集成开发环境:跟踪,调试和错误处理;asp.net中的验证控件;数据绑定技术基础;列表控件和datagrid控件;ado.net指南;调用存储过程;更新数据库记录;repeater和datalist控件;自定义asp.net控件;web服务概观;创建和消费一个用于证券报价机的web服务示例;解释asp.net缓存技术;asp.net中用于验证、授权和模拟的安全选项;asp.net中的配置和部署选项:一个数据库设计快速指南的附录。.

  

本书对于asp.net 2.0技术和visual studio 2005进行了全面讲解,出色地囊括了读者在实际编程中会用到的asp.net的重要特性,十分适合中级读者。..

  

自2001年问世以来,microsoft visual studio 和 asp.net已经成为构建基于windows的web应用程序和服务的最受欢迎的开发工具。数千名开发人员已经通过这本权威的书籍掌握了这些工具。如今,在这本经过重新修订和扩充的新版本中,作者jesse liberty 和 dan hurwitz向你展示了如何使用visual studio 2005、c# 2.0和 asp.net 2.0构建下一代的web应用程序。你很快就可以在更短的时间内以更少的代码构建更为安全、交互性更强的站点,其效果甚至会超出你的想象。

  

《programming asp.net》首先简要介绍了asp.net 2.0 和 visual studio 2005,这样可以很快地提高你的工作效率。本书前面的章节深入介绍了控件、事件、asp.net web页的生命周期以及其他一些使用asp.net框架的基本概念。...

作译者

  Jesse Liberty是畅销书Programming C#、Programming Visual Basic2005、LearningC#和多本web编程及面向对象编程方面书籍的作者。作为是Liberty Associates, Inc.的总裁,他主要为客户提供开发、咨询服务以及ASP.NET、C#、C++和相关主题的现场培训。他曾在Citibank担任副总裁,在AT&T、Ziff Davis、Xerox 、PBS曾担任过高级软件工程师和软件架构师。
Dan Hurwitz是Sterling Solutions, Inc.的总裁,在该公司工作的近二十年中,他已经为许多客户提供了编程和数据库开发的服务。
.. <<

目录

前言 xix

第1章: asp.net 2.0 1

.net framework 2.0 2

asp.net 2.0 4

新特性 5

特殊文件夹使集成更容易 5

安全 6

个性化 6

母版页 6

导航 6

无需使用iis创建网站 6

改进了控件 7

新控件 7

visual studio 2005 (vs2005) 7

移动设备 8

奔向vs2005 9

第2章: visual studio 2005 10

起始页 11

文件系统 13

http 14

.ftp 14

创建第一个web页面 14

项目和解决方案 16

解决方案 17

项目和文件 19

模板 20

项目名称 21

集成开发环境(ide) 21

布局 22

生成和运行 25

菜单栏和工具栏 26

文件菜单 26

编辑菜单 29

视图菜单 38

重构菜单 46

网站菜单 49

项目菜单 51

生成菜单 52

调试菜单 52

数据菜单 52

格式菜单 52

工具菜单 53

窗口菜单 57

帮助菜单 58

第3章: 控件:基本概念 60

事件 62

asp.net事件 63

事件参数 64

应用程序事件和会话事件 65

页面和控件事件 65

回传事件vs非回传事件 66

ispostback 66

visual studio 2005中的事件 67

多个控件共用一个事件处理程序 69

asp.net服务器控件 70

asp.net和浏览器 79

asp.net服务器控件的类层次结构 80

css样式 84

html服务器控件 86

客户端处理 90

第4章: 基本控件 94

基础 94

label控件 101

textbox控件 101

hiddenfield控件 104

button控件 107

hyperlink控件 112

选择值 114

checkbox控件 115

radiobutton控件 117

在列表中选择 119

listitem对象 121

checkboxlist控件 122

radiobuttonlist控件 134

dropdownlist 控件 137

listbox控件 139

bulletedlist控件 143

表格 150

table中的行 158

table中的单元格 159

单元格宽度 163

panel控件 164

图片 172

image控件 172

imagemap控件 176

第5章: 高级控件 182

multiview和view控件 182

wizard控件 191

fileupload控件 206

adrotator控件 211

广告文件 212

使用adrotator 214

calendar 217

在calendar中选择日期 221

控制calendar的外观 222

calendar控件编程 225

第6章: 网站基础 243

页面 243

代码隐藏 245

转到另一个页面 250

超链接 250

服务器传输 250

浏览器重定向 251

跨页发送 252

状态 265

会话状态 266

视图状态 274

状态包 276

应用程序状态 278

生命周期 285

指令 288

application指令 288

assembly指令 289

control指令 289

implements指令 290

import指令 290

master指令 291

mastertype指令 291

outputcache指令 291

page指令 292

reference指令 293

register指令 293

第7章: 跟踪、调试和错误处理 294

创建示例应用程序 295

跟踪 297

页面级跟踪 297

插入跟踪日志 299

应用程序级跟踪 303

跟踪浏览器 305

调试 305

调试工具栏 306

断点 307

单步调试代码 312

检查变量和对象 313

调试窗口 314

错误处理 318

未处理错误 319

应用程序范围的错误页面 320

特定页的错误页面 323

第8章: 验证 324

requiredfieldvalidator 326

validaion summary 332

comparevalidator 334

检查输入类型 337

与其他控件比较 337

范围检查 339

正则表达式 340

自定义验证 341

验证组 343

第9章: web数据访问 346

从数据库中获得数据 346

数据源控件 349

gridview控件 350

添加insert、update和delete语句 358

多用户更新 361

优化并行 362

显示和更新gridview 365

take it for a spin 366

使用事件跟踪更新 367

基于事件修改gridview 369

将参数传递给select查询 370

datalist控件 374

编辑datalist控件的项 381

删除datalist控件的项 383

repeater控件 387

detailsview控件:一次处理一条记录 388

formview控件:将单独的记录作为主/从关系 395

使用formview进行编辑 400

插入新记录 403

detailsview和formview事件 404

第10章:ado.net 408

对象模型 408

dataset类 409

dbcommand和dbconnection 413

dataadapter对象 413

datareader对象 414

从ado.net开始 415

使用datareader 416

在dataset中创建datarelations 420

手工创建数据对象 429

补丁数据库设计 430

手工创建datatable 433

创建主键 445

创建外键 446

创建数据关系 447

存储过程 448

创建一个简单的存储过程 448

带参数的存储过程 451

使用sql和ado.net进行更新 453

使用事务更新数据 458

acid测试 458

实现事务 459

绑定到业务对象 475

第11章:基于表单的安全特性 485

身份验证 486

匿名访问 487

windows身份验证 490

passport验证 494

表单身份验证 495

基于表单的身份验证细节 496

创建应用程序 496

添加密码提醒器 503

为asp.net账号添加角色 505

使用web网站管理工具设置角色 518

根据角色限制页面访问 518

第12章:母版页和导航 521

母版页 521

添加内容页 526

使用嵌套母版页 528

动态编辑母版页 531

导航 534

从站点导航开始 534

建立页面 537

定制外观和操作 541

按需呈现 544

使用菜单导航 544

以编程方式遍历站点地图的节点 545

基于安全的过滤 547

启用成员资格 548

添加角色 549

添加登录页面 550

创建访问规则 551

创建权限驱动的站点地图 552

第13章:个性化 554

创建个性化网站 554

记录个性化信息 554

设置用户配置 554

浏览用户配置数据表 560

使用复杂类型实现个性化 561

匿名个性化 566

主题和皮肤 573

创建测试网站 575

管理站点的主题和皮肤 576

启用主题和皮肤 577

为页面指定主题 577

设置样式表主题 578

设置定制主题 578

使用命名皮肤 580

web部件 580

web部件架构 581

创建区域 581

在区域中添加控件 583

最小化和恢复 583

启用编辑和改变布局 584

创建一个用户控件以允许修改页面布局 585

从目录添加部件 590

第14章:用户控件和自定义控件 593

用户控件 593

为用户控件编码 596

@control指令 599

属性 600

事件处理 604

自定义控件 612

属性 616

render方法 616

更新控件 618

状态维护 618

创建派生控件 621

创建复合控件 624

第15章:创建web服务 636

web服务如何工作 637

开发web服务 639

代理 641

创建使用者 642

协议与标准 642

http 642

xml 644

soap 645

web services enhancements (wse) 645

创建一个简单的web服务 646

在文本编辑器编写内联编码 648

vs2005中的代码隐藏 649

webservice指令 653

从webservice类继承 654

通过httpcontext控制application状态 654

webservicebinding特性 655

webmethod特性 656

bufferresponse属性 657

cacheduration属性 657

description属性 658

enablesession属性 658

messagename属性 659

transactionoption属性 664

webservice特性 666

description属性 666

name 属性 666

namespace属性 667

数据类型 667

数组 668

类和结构体 670

datasets 672

stocktickercomplete 673

创建发现文档 679

利用查询字符串实现发现 679

静态发现文件 680

部署 680

预编译程序集 681

动态编译程序集 682

第16章:使用web服务 683

发现 684

使用vs2005创建客户端 685

手工创建客户端 690

创建使用程序的网页内容 690

创建代理 693

编译代理类 703

完成使用程序 705

使用异步方法调用 708

第17章:缓存与性能 719

缓存类型 720

类缓存 720

配置缓存 720

数据缓存 720

输出缓存 721

对象缓存 721

数据缓存 721

数据源控件缓存 721

sql缓存依赖 725

输出缓存 730

outputcache指令 730

片段缓存:缓存页面的部分内容 737

对象缓存 745

cache类功能 750

依赖性 751

收集 760

回调支持 761

httpcachepolicy类 765

性能 767

针对asp.net的问题 768

.net的普遍问题 771

数据库问题 774

基准测试和概要分析 774

第18章:应用程序逻辑与配置 776

internet信息服务(iis) 776

iss版本 776

虚拟目录 777

理解web应用程序 781

应用程序范围逻辑 782

httpapplication对象 783

global.asax 783

全局成员 799

应用程序配置 801

层次化配置 802

格式 804

配置设置用户界面 809

网站管理工具 826

其他配置设置 834

自定义配置节 838

第19章:部署 845

程序集 846

微软中间语言(msil) 848

ildasm 848

清单 850

版本 850

私有程序集vs.共享程序集 853

强名称 855

本地部署 857

完全运行时编辑 859

手动编译程序集 860

完全预编译 861

仅预编译代码 862

全局部署 862

windows installer 865

生成配置 870

使用安装向导添加一个安装项目 871

手动添加一个安装项目 873

更多的自定义 874

部署web站点 879

a.keyboard shortcuts 811

b. relational database technology:a chash coures 886

index 893

译者序

  经过4个多月的努力,这本书终将和读者见面了。作为本书的译者之一,听到这个消息,由衷感到欣慰,我想这也是其他三位参与本书翻译和审校工作的成员的心情。

  大家对于Programming ASP.NET这本书一定不会陌生,因为此前它已在全球出版社发行过两版,作为本书的第三版,作者继承了前两版一贯的简明易懂的风格,对于其中一些操作用图片和步骤说明都作了详细解释,有些步骤甚至会在多个章节中重复,当然作者绝对不是想增加篇幅,而是为了方便读者,让初学者能够不用再去东翻西找。作为读者,您所要做的就是一字不漏地读一遍步骤,然后认认真真地操作一遍,这样就可以很好地提高学习效果。

  本书第三版相对于第二版增加了许多ASP.NET 2.0和Visual Studio 2005的内容,使本书更能跟上时代的步伐。其中的很多内容都是最新的,所以这本书对于那些技术发烧友来说,无疑地是个不错的选择。在本书中,作者为了让读者更好地理解每一项技术和选项,做了很多小例子,您经常会在书中看到这样的话:下面我们用拷贝之前的例子A,来创建一个新的例子,看到这一句话之后,您就知道接下来又要学习新的东西了。似乎作者十分喜欢用例子来展示技术,当然,这的确是学习技术的好办法,特别对于初学者而言。看得出来,作者属于标准的实践派。

  然而,在阅读本书时,我并不希望读者过分依赖开发环境,最主要的应当是理解技术的精髓,至于这些技术是基于.NET Framework 1.x还是基于.NET Framework 2.x并不重要,因为所有的技术在任何平台上都是相通的,很多技术并不局限于某些语言和开发环境。举个很简单的例子,在.NET1.x上有本地化,在.NET 2.0上也有本地化,在java、php上也有本地化。只有融会贯通,才能够发挥一本书的最大功用,也才能很大程度上提高自己的技术水平。

  本书的9、10、11、12、13、15、16、17章是由本人翻译的,2、4、5章,文前页和文后页是由赵立东翻译的,其余部分是由张昊翻译的。全书的审校工作由郝刚老师完成。

  由于水平有限,如果译文有不当和错误之处还请各位专家和读者不吝指正。大家可以把意见和建议发到programmingaspdotnet3rd@gmail.com。

  瞿 杰

  2006年10月于上海

  2002年初微软.NET框架的发布在基于Windows的程序设计领域掀起了一场技术革命,尤其是其全新的Web开发框架ASP.NET吸引了所有从事Web开发的程序员的注意,无数的开发人员加入到这个开发阵营中来。从2002年本书的第一版开始,成千上万的开发人员通过本书打开了通往ASP.NET的大门并成长为ASP.NET领域的专家。经过3年多的发展,微软于2005年底发布了.NET2.0和Visual Studio2005。新的框架和开发工具中增加了大量的激动人心的功能,利用这些新的功能和特性,您可以在更短的时间内构建更友好、更安全、更高性能、更健壮的Web应用程序。

  当然,天下没有免费的午餐,新增的大量功能和特性带来了更为复杂更为庞大的开发框架和开发工具,您须要花费更多的时间去学习和熟悉它们。我相信您会和我一样,一定会怀着既好奇又兴奋的心情去探索未知的领域,这也许就是程序开发所能给您带来的乐趣。面对这样一个未知领域,您需要一个向导,一个能帮您以最快的速度熟悉这个未知领域的向导,而就是这本Programming ASP.NET中文版第3版,就是您最好的向导。

  与之前的两个版本一样,作者依然尽量使用浅显易懂的语言描述ASP.NET的方方面面。为了能够让读者有更深的理解,作者几乎针对每个知识点都精心准备了示例程序,使得读者在学习完某项技术后马上可以体验到它的威力,同时也不至于在阅读本书时太过枯燥。作为本书的修订版本,除了保持原有的特点外,该修订版根据微软新发布的ASP.NET2.0、C#2.0和Visual Stuio2005作了大量的补充。如ASP.NET中新增的母版页、网站个性化、站点导航、安全控件、ADO.NET2.0都单独作为一章进行了深入的描述。对于ASP.NET2.0在其他方面的改进在各自的专题中进行了介绍和分析。

  作为一本全面深入介绍ASP.NET技术的权威书籍,它适合所有想学习ASP.NET技术的程序开发人员,如果您有过在ASP.NET1.1环境下开发的经验,您可以跳过部分章节,直接阅读您感兴趣的部分。此外,本书还可以作为您身边常备的一本参考书,以供您不时之需。

  本书的两位作者都是ASP.NET领域的专家,都有着丰富的写作经验。一方面,我们在翻译时尽量保持原书的风格,尽量减少我们的翻译对原书质量的影响,对原书中的部分术语和疑难语句都查阅相关资料并仔细推敲,力求把翻译做到最好;另一方面,在翻译过程中我们所发现的原书一些排版和技术性的错误,在经过讨论后都作了更正。

  尽管我们已经非常努力,但由于时间和水平有限,翻译中的错误和不当之处仍在所难免。欢迎大家提出宝贵意见。

  感谢郝刚先生审校了本书,正是由于他丰富的写作经验、深厚的技术功底以及极其认真负责的态度使本书的翻译质量更上一个新台阶,同时也要感谢其他两位译者的共同努力。

  感谢博文视点公司杨福川先生的邀请,与博文视点合作非常愉快。

  最后特别感谢我的家人。

  祝所有喜欢ASP.NET的开发人员都能取得成功!

  赵立东

  2006年10月于北京

.  

序言

  推荐序

  五岳归来不看山 黄山归来不看岳

  ——特别感受本书带给我们的技术胜境

  这本书稿的所有审校和部分翻译工作是由我全面负责的。刚刚结束了一切工作,点滴失落与热切的兴奋融合在一起,让我无法自已。回想起这段时间夜以继日的艰苦工作,一切苦累,一切汗水,都已变得无足轻重,伴随着窗外的明月,随风逝去。留下来的只有厚厚书稿和它所带给我们的技术胜境。

  在开始本书的相关工作之前,我自己写过一本《ASP.NET 2.0开发指南》。为此,阅读了近十本ASP.NET 2.0方面的外版图书。如今,不经意间会将这些图书,包括自己撰写的书稿,与本书做比较。比较的结果,让我油然而生“五岳归来不看山,黄山归来不看岳”的感觉。无论从各个方面而言,我都认为本书不愧为ASP.NET技术图书领域的经典著作。

  本书的第一版诞生于2002年初,一上市便引起众多读者的高度关注和热情追捧。在随后的2003年9月,本书推出了第二版,其在很短的时间内成为了ASP.NET图书中的佼佼者,受到了读者及专家的高度评价。在随同ASP.NET技术沉寂两年之后的2005年底,本书又适时推出了万众注目的第三版,也就是我们当前看到的这本书。

  众所周知,自微软发布ASP.NET 2.0技术至今,国内已经形成了一股学习应用该项技术的热潮。然而,相关的优秀图书却始终不多。实际上,作为针对跨进ASP.NET领域的初中级读者的图书,虽然市场需求量比较大,但是要向这些入门读者轻松介绍ASP.NET 2.0技术,却是一项更有挑战性的工作。本书对于ASP.NET 2.0技术和Visual Studio 2005进行了全面详细的讲解。从作者Jesse Liberty和Dan Hurwitz的文字当中,读者能够很容易感受到那种驾轻就熟的自信和循循善诱的解析。细看本书,能够发现作者的写作思路很清晰,其组织结构依据ASP.NET 2.0技术特性搭建,因此,比较全面,且具有很强系统性。同时,在细致论述相关理论之后,以实际开发中的示例为基础,进一步说明理论应用方法,从真正意义上做到了理论结合实际。毫不夸张地说,这是一本构建下一代Web应用程序的权威图书。

  感谢瞿杰、赵立东、张昊三位所做的翻译工作,他们的工作是本书的基础。我还要特别感谢我的朋友华中宇,他为本书做出了重要贡献。每当我翻译审校完一个章节,都由他再次轻声阅读并测试代码,并对其中存在的问题提出建议。这对于保证书稿文字质量有着重要意义。

  限于水平,书中翻译不妥或错误之处在所难免,敬请广大读者批评指正。请将反馈信息发送到talency82@broadview.com.cn,我们将不胜感激!

  2006年10月于月城

  郝刚:多年从事计算机软件、通信、电视系统等工作。2000年开始致力于.NET技术研究。至今,已发表论文十余篇,著有《ASP.NET服务器控件开发技术与实例》、《ASP.NET 2.0开发指南》等书。欢迎读者通过电子邮件(polaris.tom@gmail.com)与他联系交流。

  

相关资源

·精彩导读..
·本书英文影印版..

·程序员的7种武器(正则表达式、编程语言、数据库、算法、软件调试、开发环境)
·WCF的开山之作 WCF画卷的清明上河图(WCF WF WPF)
·博客园 .NET好书推荐(.NET 王涛 张逸 罗江华 朱永光 谭振林)

0 0