在本书中你将从专家那里学习到ASP.NET的底层技术。本书是由当今ASP.NET的先驱者在Microsoft的ASP.NET开发小组的指导和授意下编写的。本书是由Scott Guthrie(ASP.NET的合作创始人之一)指导,并由Scott Mitchell领导的当今顶级的专业ASP开发人员组成的作者队伍编写的。该队伍包括Stephen Walther、Doug Seven、Donny Mack、Chris Payne和Dan Wahlin,他们都是美国顶级的ASP顾问和ASP.NET最前沿的先驱,其中多人维护着当今顶级的ASP.NET Web站点。Microsoft的Billy Anders和Adam Nathan为我们提示了ASP.NET的内幕。由8位作者组成的团队撰写了本书的19章内容,其中详细阐述了ASP.NET的概念,提供了可阐明概念的样例代码,并为中、高级开发人员提供了逐级的代码解释。
简介\r\n献词\r\n前言\r\n\r\n第1章 通用ASP.NET页面编程技术\r\n\r\n1.1 当加载页面时使用Pape_Load\r\n1.2 在ASP.NET中使用表单\r\n1.3 响应表单的回传\r\n1.4 为Web控件的事件创建事件处理程序\r\n1.5 小结\r\n1.6 其他资源\r\n\r\n第2章 通用ASP.NET编码技术\r\n\r\n2.1 使用集\r\n2.2 处理文件系统\r\n2.3 使用正则表达式\r\n2.4 动态创建图片\r\n2.5 从ASP.NET页面中发送Email\r\n2.6 通过ASP.NET页面访问网络\r\n2.7 通过ASP.NET页面从浏览器中上载文件到Web服务器\r\n2.8 使用ProcessInfo检索进程信息\r\n2.9 访问Windows事件日志\r\n2.10 使用服务器性能计数器\r\n2.11 小结\r\n2.12 其他资源\r\n\r\n第3章 表单输入字段验证\r\n\r\n3.1 使用ASP.NET验证控件验证表单的输入字段\r\n3.2 使用RequiredFieldValidator控件\r\n3.3 使用Compare Validator控件\r\n3.4 使用RangeValidator控件\r\n3.5 使用RegularExpressionValidator控件\r\n3.6 使用CustomValidator控件\r\n3.7 使用ValidationSununmp控件\r\n3.8 小结\r\n3.9 其他资源\r\n\r\n第4章 优化对浏览器的支持\r\n\r\n4.1 通过HttpBrowserCapabilities类确定访问者的浏览器性能\r\n4.2 基于用户浏览器的性能动态地重定向\r\n4.3 通过ClientTarget属性测试各种服务器端控件的输出\r\n4.4 小结\r\n4.5 其他资源\r\n\r\n第5章 创建和使用用户控件\r\n\r\n5.1 创建用户控件\r\n5.2 注册用户控件\r\n5.3 方法和属性\r\n5.4 动态加载用户控件\r\n5.5 小结\r\n5.6 其他资源\r\n\r\n第6章 使用ADO.NET处理数据\r\n\r\n6.1 ADO.NET概览\r\n6.2 使用ADO.NET实现数据库常规操作\r\n6.3 在SQL命令中使用参数\r\n6.4 在ADO.NET中使用存储过程\r\n6.5 通过DataSet检索数据\r\n6.6 理解DataTable\r\n6.7 理解DataAdapter\r\n6.8 小结\r\n6.9 其他资源\r\n\r\n第7章 数据展现\r\n\r\n7.1 保存表单数据\r\n7.2 使用ASP.NET服务器端控件显示数据库数据\r\n7.3 使用DataList控件\r\n7.4 使用DataGrid控件\r\n7.5 小结\r\n7.6 其他资源\r\n\r\n第8章 使用XML\r\n\r\n8.1 .NET对XML的支持\r\n8.2 为什么要用XML\r\n8.3 System.Xml配件中有哪些类\r\n8.4 使用XmlTextReader类读取XML文档\r\n8.5 使用XML Schema验证XML文档\r\n8.6 使用XmlTextWriter创建XML文档\r\n8.7 使用DOM处理XML文档\r\n8.8 使用XSLT转换XML文档\r\n8.9 ADO.NET对XML的支持\r\n8.10 小结\r\n8.11 其他资源\r\n\r\n第9章 ASP.NET错误处理\r\n\r\n9.1 错误处理和.NET运行时\r\n9.2 在错误产生之前防止错误\r\n9.3 结构化错误处理\r\n9.4 页面级错误处理\r\n9.5 应用程序级的错误处理\r\n9.6 小结\r\n9.7 其他资源\r\n\r\n第10章 调试ASP.NET应用程序\r\n\r\n10.1 跟踪代码执行\r\n10.2 使用CLR调试器\r\n10.3 小结\r\n10.4 其他资源\r\n\r\n第11章 ASP.NET的部署和配置\r\n\r\n11.1 将组件部署到\bin文件夹\r\n11.2 使用特定的组件版本配置应用程序\r\n11.3 web.config的通用配置\r\n11.4 从web.config中读取自定义的配置信息\r\n11.5 允许工作进程重启\r\n11.6 使用Web花园:允许多处理器\r\n11.7 小结\r\n11.8 其他资源\r\n\r\n第12章 ASP.NET的安全性\r\n\r\n12.1 验证\r\n12.2 授权\r\n12.3 小结\r\n12.4 其他资源\r\n\r\n第13章 Web服务\r\n\r\n13.1 什么是Web服务\r\n13.2 创建和发布一个简单的Web服务\r\n13.3 在ASP.NET页面中使用Web服务\r\n13.4 从Web服务返回数据库的数据\r\n13.5 Web服务的安全性\r\n13.6 创建和使用Web服务的设计思路\r\n13.7 小结\r\n13.8 其他资源\r\n\r\n第14章 管理状态\r\n\r\n14.1 使用ViewState管理页面级状态\r\n14.2 管理ASP.NET的Session状态\r\n14.3 使用SQL Server管理Session状态\r\n14.4 使用Cookie管理Session状态\r\n14.5 不依赖Cookie的Session状态管理\r\n14.6 使用Session State Server\r\n14.7 管理应用程序状态\r\n14.8 小结\r\n14.9 其他资源\r\n\r\n第15章 ASP.NET性能技巧\r\n\r\n15.1 什么是缓存\r\n15.2 使用页面输出缓存来实现对整个ASP.NET Web Form的缓存\r\n15.3 ASP.NET Web表单的部分缓存——片段缓存\r\n15.4 通过Response.Cache获取页面级信息\r\n15.5 允许Web服务的输出缓存\r\n15.6 通过Cache类对缓存进行编程\r\n15.7 ASP.NET Web表单的性能考虑\r\n15.8 数据库性能考虑\r\n15.9 Web服务的性能考虑\r\n15.10 小结\r\n15.11 其他资源\r\n\r\n第16章 代码和内容的分离\r\n\r\n16.1 使用后台代码\r\n16.2 区域化\r\n16.3 使用资源文件\r\n16.4 小结\r\n16.5 其他资源\r\n\r\n第17章 移动控件\r\n\r\n17.1 使用移动设备软件模拟器\r\n17.2 WAP简介\r\n17.3 构建WML页面\r\n17.4 使用ASP.NET的移动控件\r\n17.5 创建跨设备兼容的移动页面\r\n17.6 小结\r\n17.7 其他资源\r\n\r\n第18章 ASP.NET的HTTP运行时\r\n\r\n18.1 Http运行时介绍\r\n18.2 Global.asax事件处理程序\r\n18.3 使用指令\r\n18.4 小结\r\n18.5 其他资源\r\n\r\n第19章 在ASP.NET Web页面中使用COM和Win32\r\n\r\n19.1 在ASP.NET Web页面中使用COM组件\r\n19.2 在ASP.NET Web页面中调用Win32 API\r\n19.3 使用AspCompat指令\r\n19.4 性能考虑\r\n19.5 小结\r\n19.6 其他资源\r\n\r\n附录A 升级到Visual Basic.NET\r\n\r\nA.1 变量\r\nA.2 缩短流程操作\r\nA.3 函数和子程序\r\nA.4 While语句\r\nA.5 默认属性\r\n\r\n附录B 通用的正则表达式模板\r\n\r\nB.1 邮政编码的验证\r\nB.2 社会安全号码验证\r\nB.3 电话号码的验证\r\nB.4 Email地址的验证\r\nB.5 审查攻击性语言\r\n\r\n附录C 通用的存储过程模板\r\n\r\nC.1 检索记录\r\nC.2 插入新记录\r\nC.3 更新观存记录\r\nC.4 删除记录\r\nC.5 检索头10行记录\r\nC.6 检索包含特定于字符串的记录\r\nC.7 如果某记录不存在就插入该记录\r\nC.8 如果某记录存在就更新该记录,否则插入记录\r\nC.9 检查有效的用户名和密码\r\nC.10 检索SQL Server的系统对象
在学习新的东西时, 经验是不可替代的, 当然学会的方法也有很多.比如, 当我想学如何骑自行车时, 我会用最古老的方式——跨上自行车然后就骑.很自然, 在一开始很长一段时间内我会不断摔倒, 然后经过一段时间的练习以后, 我就能整天骑了, 但膝盖的皮都摔破了.
学习弹吉它就有一点不同, 我不能拿起来就去弹.我需要从有经验的吉它手那里学习, 我需要老师.实际上我有很多老师, 我从他们那里学到了不同的东西.无论是从Jimi Hendrix.Eddie Van Halen和 Eric Clapton等人那里学习不可思议的“即兴弹奏”, 还是从更有经验的吉它手那里学习某些技术的技巧, 总而言之, 利用他们经验优势, 我都能成为一个好的吉它手.虽然, 学习弹吉它的时间会比学骑自行车的时间要长, 但我不会在学习的过程中磕破膝盖.
幸运的是, 学习ASP.NET比学习弹吉它更容易, 而且当你遇到错误时, 也没有从自行车上摔下来那么痛!使用ASP.NET来开发和部署应用程序和服务比以前要容易得多.开发人员喜欢的ASP.NET的一个新重要特征就是允许在开发页面时使用可复用的控件, 这就类似于Visual Basic的编程模型.创建基于XML的Web服务不可思议的简单, “xcopy”部署方式允许你通过简单地拷贝应用程序所需的所有资源(如页面.编译后的组件和配置数据)来部署应用程序, 并且不再需要注册.你甚至可以部署更新正在运行的应用程序, 然后应用程序就能和谐地移植到新的版本!ASP.NET还包含一些不那么显著的特征, 但它们却能提供大量的优势.比如, 跟踪特征就能引起开发人员由衷的赞美!
除了ASP.NET直接提供的大量特征外, ASP.NET最好的地方就是它是Microsoft的更庞大项目的一部分, 该项目称为“.NET框架”..NET框架对于开发人员来说是个非常丰富的平台, 可用于开发应用程序和服务, 它提供了大量引人注目的优势.
比如, 通用语言运行时是.NET框架的关键部分.它提供一个运行环境, 该环境通过取消清理和检测细节来提高开发人员的效率.它能防止开发人员的普通编程错误和版本问题, 并通过诸如实现继承等特征提供面向对象的构架.最令人难忘的是, 它是跨语言的.比如, 你可以在C#中建立一个对象, 并从Visual Basic中继承(是的, VB现在有继承了!).
.NET框架也包含一套丰富的类库, 从而能让开发人员以更少的代码建立更多的应用程序.其中包括操作和使用XML和关系型数据的类库, 处理文件和网络I/O的类库, 创建和操作图片的类库.此外, 还有一些普通用途的数据结构, 如哈希表和列表.
在前面提到的所有的优势基础上, Visual Studio.NET是一个难以置信的强大工具, 它直接面向AST.NET和.NET框架.因此, 开发人员在开发.调试和部署Web服务和应用程序时, 就能使用世界上最流行的开发工具.
当然, 即使有了所有这些难以置信的特征, 还有一个关键问题:学习ASP.NET最好的方法是什么?虽然我们已经说过开发人员只要“爬上车然后开始骑”, 但我认为最好的方法是有一个好老师, 这就是《ASP.NET权威指南》.本书凝聚了世界上最好.最有经验的ASP.NET开发人员的心血, 他们会带领你进入ASP.NET和.NET框架的关键领域, 从而教你一些他们最拿手的“即兴弹奏”, 为你演示一些实际例子, 以及通过这些例子来解决你在建立应用程序时遇到的实际问题.
本书的最早构想实际上来自于ASP.NET开发小组.在过去的三年半里, 我和其他小组成员在Microsoft和全球范围内的论坛上做过数以百计的有关ASP.NET的演讲.其中最好的演讲之一是Scott Guthrie所做的“ASP.NET技巧和诀窍”, 他跟我一同启动了ASR.NET 小组.在这当中, 他阐述了ASP.NET和.NET框架的一系列优秀的特征.由于包含几乎所有这些特征, 所以你可能会听到开发人员说:“哇, 我不知道你能这样做!”.
在谈到Sams的出版人员时, 我们要提到的是, 把书组织成相同的格式是非常不简单的.我们也帮助他们寻找编写本书的最佳人选.Scott Mitchell.Steve Walther.Doug Seven.Donny Mack.Dan Wahlin和Chris Payne是最有经验的 ASP.NET开发人员, 也是业界的“权威”.Adam Nathan在Mcrosoft的CLR(通用语言运行时)小组工作, Billy Anders是Mciosoft中整合ASP.NET解决方案的最早一批人之一.而Jimi Hendrix.Eddie Van Halen和Eric Clapton则是我亲自拜访他们的!
我想你会体会到本书是帮助你学习ASP.NET的非常有价值的资源.好好享用!