手把手,循序渐进教你学习ASP.NET 3.5
对于有基础编程技能但对ASP. NET陌生的人来说,本书是一本理想读物。它手把手地教你在Microsoft Visual Studio 2008开发环境中开发Web应用程序。
本书教你学会如何
■利用控件创建并个性化Web应用程序。
■开发一个持续性的具有母板页面、主题以及皮肤的自定义UI。
■用UI元素表示数据集合。
■使用菜单栏和导航提示跟踪功能创建有效的站点导航。
■管理基于Web的安全性。
■配置、管理和存储会话状态。
■缓存数据与内容以提高应用程序的性能。
■诊断错误并调试应用程序。
■构建XML Web服务。
■应用AJAX和WCF技术。
ASPNET 35是基于微软NET 35框架的动态页面开发技术,其秉承了ASPNET 10/11/ 20的组件开发技术,提供Web开发所需要的大部分组件,如登录、验证、数据源管理、数据显示、网页导航设计等。开发人员使用ASPNET 35,不仅可以开发出美观的界面,还可以通过后台技术,实现数据管理、动态页面更新等新技术。
书中的每一个部分都以举例这种让很多程序员容易接受的方式来展开某一项具体的ASPNET特性应用,并且每个例子也十分浅显易懂,图文并茂。本书特别适合于刚接触ASPNET的开发人员。书中包含了对于Web开发的详细描述,即使你已经有过开发桌面软件的经验,这些知识也同样有用。同样地,对于从ASPNET 1x 或者 20,甚至传统ASP中迁移过来的开发人员,本书也为你阐释了ASPNET 35与ASPNET 1x 以及 20之间的差别,还包括了对于ASPNET与传统ASP之间差别的参考说明。根据作者的写作意图,你在阅读本书的时候并不需要以任何特定的顺序来阅读,因为它的每一个章节基本上都是独立的。本书涵盖的知识点也相当丰富,从最基础的Web开发基础,到Web中的高级技术,比如:AJAX、WPF、WCF等这些当前最新、最热门技术,学习完这些为你构建强大的企业级应用一定能起到很大的帮助作用。所以,如果你属于上面提到的角色或者另一类新技术追随者,那还等什么呢?别犹豫了!现在就开始你的ASPNET 35学习之旅吧!
本书在翻译过程中得到了很多朋友的支持和帮助,再次特别感谢你们。他们是:现在德国读书的邓惠晶妹妹,就职于IBM 的郑铮兄弟,以及现就读于四川师范大学的弟弟罗峰同学。
由于本书的翻译进度要求高,涉及技术面广,翻译难度较大;加之译者水平有限,书中难免有疏漏或错误,欢迎广大读者批评指正。
罗江华
2008年9月于新加坡
封面图
目录
- 译者序
- 前言
- 致谢
- 第一部分基础
- 第1章Web应用程序基础1
- 11HTTP请求1
- 111来自于浏览器的HTTP请求2
- 112不使用浏览器创建HTTP请求3
- 12超文本标记语言4
- 13动态内容6
- 131HTML表单6
- 132通用网关接口7
- 133微软Web服务器平台8
- 14Internet信息服务8
- 141Internet服务应用程序编程
- 接口DLL9
- 142Internet信息服务9
- 15传统ASP(站在ASPNET的
- 角度)13
- 16Web开发概念15
- 17ASPNET15
- 18小结16
- 19第1章快速参考16
- 第2章ASPNET应用程序基础17
- 21规范的Hello World应用程序17
- 211构建HelloWorld Web应用
- 程序17
- 212混合HTML与可执行代码21
- 213服务器端的可执行代码块23
- 22ASPNET编译模型28
- 23代码选项29
- 231ASPNET 1x样式30
- 232现在的 ASPNET样式30
- 24ASPNET HTTP管道32
- 241IIS 5x和IIS 6x管道33
- 242IIS 70集成管道33
- 243管道概述34
- 25Visual Studio和 ASPNET35
- 251本地IIS Web站点35
- 252基于文件系统的Web站点36
- 253FTP Web站点36
- 254远程Web站点36
- 255Hello World和Visual Studio37
- 26小结41
- 27第2章快速参考42
- 第3章页面呈现模型43
- 31以标签的方式呈现控件43
- 32以组件方式封装UI45
- 321ASPNET页面46
- 322页面呈现模型47
- 323页面控件树48
- 33使用Visual Studio添加控件49
- 331使用Visual Studio构建页面49
- 332布局考虑56
- 34小结57
- 35第3章快速参考58
- 第4章自定义呈现控件59
- 41Control类59
- 42Visual Studio和自定义控件60
- 43Palindrome Checker66
- 44控件和事件69
- 45HtmlTextWriter和控件71
- 46控件和ViewState73
- 47小结76
- 48第4章快速参考77
- 第5章复合控件78
- 51复合控件与呈现控件78
- 52自定义复合控件79
- 53用户控件85
- 54使用各种类型控件的时机91
- 55小结91
- 56第5章快速参考91
- 第6章控件集合92
- 61验证92
- 611页面验证是如何工作的96
- 612其他验证器98
- 613验证器属性98
- 62基于Image的控件99
- 63TreeView102
- 64MultiView105
- 65小结107
- 66第6章快速参考107
- 第二部分高级特性
- 第7章Web Parts109
- 71Web Parts简史110
- 72Web Parts的好处是什么110
- 721开发 Web Parts控件110
- 722Web Parts页面开发110
- 723Web Parts应用程序开发110
- 73Web Parts架构111
- 731WebPartManager和
- WebZones111
- 732内置区域111
- 733内置 Web Parts112
- 74开发Web Part120
- 75小结127
- 76第7章快速参考127
- 第8章提供持续统一的外观128
- 81一致的外观128
- 82ASPNET Master Page129
- 83主题138
- 84皮肤140
- 85小结142
- 86第8章快速参考142
- 第9章配置143
- 91Windows配置143
- 92NET配置144
- 921MachineConfig文件144
- 922配置节处理程序144
- 923WebConfig文件146
- 924在ASPNET 1x中进行
- 配置管理147
- 925在ASPNET后面的版本中
- 进行配置管理147
- 93使用IIS进行ASPNET配置151
- 94小结155
- 95第9章快速参考155
- 第10章登录156
- 101基于Web的安全性156
- 1011IIS安全性157
- 1012基本的Forms验证157
- 102ASPNET验证服务161
- 1021FormsAuthentication类161
- 1022可选登录页面162
- 103用户管理165
- 104ASPNET登录控件169
- 105为用户授权171
- 106小结173
- 107第10章快速参考174
- 第11章数据绑定175
- 111不使用数据绑定来显示集合175
- 112使用数据绑定显示集合175
- 1121基于ListControl的控件176
- 1122TreeView176
- 1123Menu176
- 1124FormView176
- 1125GridView177
- 1126DetailsView177
- 1127DataList177
- 1128Repeater177
- 113简单数据绑定177
- 114访问数据库181
- 115NET数据库181
- 1151连接181
- 1152命令183
- 1153管理结果集184
- 116ASPNET数据源185
- 117其他数据绑定控件189
- 118LINQ195
- 119小结197
- 1110第11章快速参考197
- 第12章Web站点导航198
- 121ASPNET的导航支持198
- 1211导航控件198
- 1212XML站点地图199
- 1213SiteMapProvider199
- 1214SiteMap类200
- 1215SiteMapNode200
- 122导航控件201
- 1221Menu和TreeView控件201
- 1222SiteMapPath控件202
- 1223站点地图配置202
- 123构建可导航的Web站点203
- 124捕获SiteMapResolve事件206
- 125为节点添加自定义属性207
- 126安全控制209
- 127URL映射210
- 128小结213
- 129第12章快速参考214
- 第13章个性化215
- 131Web访问中的个性化215
- 132ASPNET中的个性化215
- 1321使用Profile215
- 1322个性化提供程序216
- 133使用个性化216
- 1331在WebConfig文件中
- 定义Profile216
- 1332使用Profile信息217
- 1333保存Profile的变化217
- 1334Profile和用户218
- 134小结222
- 135第13章快速参考222
- 第三部分缓存和状态管理
- 第14章会话状态223
- 141为何需要会话状态223
- 142ASPNET与会话状态224
- 143会话状态概述224
- 144会话状态及其他复杂数据228
- 145配置会话状态234
- 1451关闭会话状态235
- 1452通过InProc保存会话状态235
- 1453在状态服务器上保存
- 会话状态235
- 1454在数据库中保存会话状态236
- 146跟踪会话状态236
- 1461使用Cookies来跟踪会话
- 状态236
- 1462使用URL来跟踪会话状态237
- 1463使用AutoDetect238
- 1464应用设备配置238
- 1465会话状态超时238
- 147其他会话配置设定238
- 148Wizard控件:会话状态的一个
- 可用替代239
- 149小结246
- 1410第14章快速参考246
- 第15章应用程序数据缓存247
- 151使用数据缓存249
- 152缓存的作用250
- 153管理缓存251
- 1531内存中的数据集252
- 1532缓存过期254
- 1533缓存依赖256
- 1534SQL Server依赖258
- 1535清理缓存259
- 154小结261
- 155第15章快速参考262
- 第16章缓存输出263
- 161缓存页面内容263
- 162管理缓存内容265
- 1621修改OutputCache指令265
- 1622HttpCachePolicy269
- 1623缓存定位270
- 1624输出缓存依赖270
- 1625缓存Profile271
- 163缓存用户控件271
- 164输出缓存有意义的时候274
- 165小结275
- 166第16章快速参考275
- 第四部分诊断和管道
- 第17章诊断和调试277
- 171页面跟踪277
- 1711启用跟踪277
- 1712跟踪语句281
- 172应用程序跟踪283
- 1721以编程方式启用跟踪285
- 1722TraceFinished事件286
- 1723其他管道跟踪消息286
- 173使用Visual Studio调试286
- 174错误页面289
- 175未处理的异常292
- 176小结293
- 177第17章快速参考293
- 第18章HttpApplication类和 HTTP
- 模块295
- 181Application对象:一个交汇点295
- 182重写HttpApplication296
- 1821应用程序状态的附加说明298
- 1822事件处理298
- 1823HttpApplication事件299
- 183HttpModules301
- 1831存在的模块301
- 1832实现一个模块302
- 1833查看活动的模块304
- 1834在模块中存储状态306
- 184Globalasax与HttpModules308
- 185小结309
- 186第18章快速参考309
- 第19章自定义Handler310
- 191Handler310
- 192内置Handler311
- 193IHttpHandler314
- 194Handler和会话状态318
- 195一般Handler (ASHX文件)318
- 196小结320
- 197第19章快速参考321第五部分服务、AJAX、部署
- 以及Silverlight第20章ASPNET Web服务323
- 201Remoting323
- 202Web上的Remoting324
- 2021SOAP325
- 2022传输类型系统325
- 2023Web服务描述语言325
- 203如果你不能使用ASPNET325
- 204ASPNET中的Web服务326
- 205调用Web服务332
- 206异步执行335
- 207Web服务的演化过程338
- 208其他特性338
- 209小结339
- 2010第20章快速参考339
- 第21章WCF340
- 211分布式计算的回归340
- 212一些零散的通信API340
- 213面向互联系统的WCF341
- 214WCF的组成元素341
- 2141WCF端点341
- 2142通道342
- 2143行为342
- 2144消息343
- 215如何在ASPNET中玩转WCF343
- 2151并行模式343
- 2152ASPNET兼容模式343
- 216编写一个WCF服务344
- 217构建一个WCF客户端349
- 218小结353
- 219第21章快速参考354
- 第22章AJAX355
- 221什么是AJAX356
- 222AJAX概述356
- 2221使用AJAX的原因356
- 2222真实世界的AJAX358
- 2223正确的AJAX358
- 223ASPNET服务器端控件对AJAX的
- 支持359
- 2231ScriptManager控件359
- 2232ScriptManagerProxy控件359
- 2233UpdatePanel控件359
- 2234UpdateProgress控件359
- 2235Timer控件360
- 224AJAX客户端支持360
- 2241ASPNET AJAX控件
- 工具箱360
- 2242其他的ASPNET AJAX社区
- 支持材料360
- 2243AJAX控件工具箱集合361
- 225熟悉AJAX362
- 226定时器367
- 227更新进展373
- 228扩展控件376
- 2281AutoComplete扩展376
- 2282一个模态弹出对话框
- 风格的组件381
- 229小结384
- 2210第22章快速参考385
- 第23章ASPNET与WPF386
- 231WPF是什么386
- 2311与Web应用有什么关系387
- 2312松散的XAML文件388
- 2313XBAP应用程序388
- 232WPF内容以及Web应用程序389
- 233关于Silverlight393
- 234小结394
- 235第23章快速参考394
- 第24章Web应用程序类型如何
- 影响部署395
- 241Visual Studio工程395
- 2411HTTP工程395
- 2412FTP工程396
- 2413文件系统工程396
- 242预编译396
- 2421预编译性能396
- 2422预编译部署397
- 2423发布一个Web站点403
- 243小结404
- 244第24章快速参考404