关闭

关闭

封号提示

内容

首页 ASP.NET+MVC3.0+高级编程.pdf

ASP.NET+MVC3.0+高级编程.pdf

ASP.NET+MVC3.0+高级编程.pdf

上传者: mengzhongiiii 2013-03-22 评分 4.5 0 99 14 451 暂无简介 简介 举报

简介:本文档为《ASP.NET+MVC3.0+高级编程pdf》,可适用于IT/计算机领域,主题内容包含ASPNETMVC高级编程美JonGallowayPhilHaackBradWilsonKScottAllen著孙远帅译北京JonGalloway,符等。

ASPNETMVC高级编程美JonGallowayPhilHaackBradWilsonKScottAllen著孙远帅译北京JonGalloway,PhilHaackBradWilsonKScottAllenProfessionalASPNETMVCEISBN:CopyrightbyWileyPublishing,IncAllRightsReservedThistranslationpublishedunderlicense本书中文简体字版由WileyPublishing,Inc授权清华大学出版社出版。未经出版者书面许可不得以任何方式复制或抄袭本书内容。北京市版权局著作权合同登记号图字:本书封面贴有Wiley公司防伪标签无标签者不得销售。版权所有侵权必究。侵权举报电话:图书在版编目(CIP)数据ASPNETMVC高级编程(美)加洛韦(Galloway,J)等著孙远帅译北京:清华大学出版社书名原文:ProfessionalASPNETMVCISBNⅠA…Ⅱ加…孙…Ⅲ网页制作工具ⅣTP中国版本图书馆CIP数据核字()第号责任编辑:王军吴乐装帧设计:牛艳敏责任校对:成凤进责任印制:出版发行:清华大学出版社网址:http:wwwtupcomcnhttp:wwwwqbookcom地址:北京清华大学学研大厦A座邮编:社总机:邮购:投稿与读者服务:cservicetuptsinghuaeducn质量反馈:zhiliangtuptsinghuaeducn印刷者:装订者:经销:全国新华书店开本:mmmm印张:字数:千字版次:年月第版印次:年月第次印刷印数:~定价:元产品编号:技术编辑简介EilonLipton在年作为一名开发人员加入了Microsoft公司的ASPNET团队。在ASPNET团队里他既做过数据源控件也做过UpdatePanel控件的本地化工作。现在他是ASPNETMVC框架的首席开发经理并频繁地在各种有关ASPNET主题的全球会议上发表演讲。他从波士顿大学毕业并获得数学和计算机科学双学位。前言对一名ASPNET开发人员来说这是一个伟大的时刻!无论是对于已经拥有ASPNET多年开发经验的开发人员还是对于刚刚入门的初学者现在都是深入学习ASPNETMVC的绝佳时机。ASPNETMVC从一开始就有很多乐趣再加上现在又添加了很多特性像新的Razor视图引擎、集成了NuGet包管理系统、深度整合了jQuery并且具有很强大的可扩展性。因此使用ASPNETMVC会给我们带来很多的乐趣!随着ASPNETMVC新版本的发布相对于本书的前两版而言其内容已经变化很多足以让我们重新编写该书。ASPNETMVC团队成员BradWilson和著名的ASPNET专家KScottAllen加入了我们的作者队伍。因此我们已经有足够的能力创造一本崭新的书。加入我们会有一个有趣翔实的ASPNETMVC之旅!本书读者对象本书适用于希望向网站中添加更多完整的测试以及希望能做出一些与众不同的内容的Web开发人员。本书在有些地方假定读者已经熟悉了ASPNETWebForms至少已经从外围了解了一些内容。由于许多ASPNETWebForms开发人员对ASPNETMVC感兴趣因此本书有很多地方对这两种技术进行了对比。即便您现在不是ASPNET开发人员即便ASPNETMVC不是您想要的Web技术但是您仍然可以发现一些章节是很有趣的不管是出于学习的目的还是出于摸清来龙去脉的目的。值得再次强调的是ASPNETMVC并不是ASPNETWebForms的替代品。很多Web开发人员将大量注意力放在了其他Web架构上(如RubyonRails、Django)它们融入了MVC(ModelViewController)应用程序模式如果您不是这些开发人员中的一员或者甚至只是出于好奇那么本书也适合您。MVC支持在应用程序中的组件之间实现“更清晰的关注点分离”(但是需要特别小心)。本书将在后面探讨这些分支但是如果必须以一句话来概括的话那就是:ASPNETMVC是去掉了障碍的ASPNET。ASPNETMVC是一个修补型的架构它提供了对HTML和JavaScript的细粒度控制以及对应用程序编程流程的完全控制。在MVC中没有声明性的服务器控件有些人可能会喜欢这些控件而有些人则可能ASPNETMVC高级编程VIII不喜欢。在不久的将来MVC团队可能会添加声明性的视图控件但是这些控件将与ASPNETWebForms开发人员熟悉的组件大相径庭这些控件中封装了渲染视图的逻辑以及用于响应用户输入的逻辑等。将所有这些逻辑封装在视图的单个控件中会违反“关注点分离”这一框架的核心。这样就会使抽象的层次崩溃倒塌就像所有的门和窗户都被敞开允许空气自由流动。我们给您的最后一个比喻是ASPNETMVC像是摩托车而ASPNETWebForms可能像是小型货车而且配备有安全气囊以及DVD播放器这样在驱车去岳父家赴周五晚宴的时候如果有小孩的话可以避免他们在车上打闹。有些人喜欢摩托车有些人则喜欢小型货车。它们都可以带您去想去的地方但是从技术讲它们都并不胜于对方。本书组织结构本书共章主要介绍了MVC模式以及ASPNETMVC是如何实现该模式的。其中的第、、章由JonGallowany编写第、、章由PhilHaack编写第、、、章由ScottAllen编写第、、章由BradWilson编写第章则由位作者共同编写。第章帮助您开始进行ASPNETMVC开发。首先介绍了ASPNETMVC的概念然后解释ASPNETMVC如何顺应前两个发布版本。最后在确保正确安装软件之后帮助您开始创建您的第一个ASPNETMVC应用程序。第章讲解控制器和操作的基础内容。您开始编写一些基本的“helloworld”示例然后创建从URL中提取信息并在屏幕上显示的应用程序。第章介绍如何从控制器操作中使用视图模板控制输出的可视化表示。除此之外还将全面地介绍ASPNETMVC中包含的新视图引擎Razor。第章继续介绍MVC模式的第三个元素:模型。本章中您将会学习到如何使用模型在控制器和视图之间传递信息以及如何在EntityFramework上集成数据库和模型。第章深入讲解编辑场合解释ASPNETMVC处理表单的方式。您将从本章中学习到如何使用HTML辅助方法精简视图。第章介绍如何使用特性定义模型显示、编辑和验证的规则。第章讲解如何确保ASPNETMVC应用程序安全并指出常见的安全陷阱以及避免这些陷阱的方法。除此之外您还会学习到如何利用ASPNETMVC应用程序中的ASPNET成员资格和授权特性来控制访问权限。第章介绍ASPNETMVC应用程序中的Ajax程序并特别强调jQuery和jQuery插件。本章中您将会学习到如何使用ASPNETMVC的Ajax辅助方法以及如何高效地应用ASPNETMVC中包含的jQuery验证系统。第章深入介绍用来管理如何把URL映射到控制器操作的路由机制。前言IX第章介绍NuGet包管理系统。通过本章内容您将学习到如何把NuGet关联到ASPNETMVC如何安装NuGet以及如何使用NuGet来安装、更新和创建新包。第章介绍依赖注入ASPNETMVC的变化包括对依赖注入的支持以及如何在应用程序中利用依赖注入。第章教您如何在ASPNET应用程序中使用测试驱动开发并提供编写高效测试的一些有益忠告。第章深入讲解ASPNETMVC中的扩展点并展示如何扩展MVC框架来满足您的具体需求。第章介绍一些高级主题这些主题在阅读本书前章之前讲解可能会使您感到吃力。本章涵盖Razor、基架系统、路由机制、模板和控制器的一些复杂应用。使用本书的条件为了使用ASPNETMVC您可能需要安装VisualStudio。可以使用MicrosoftVisualWebDeveloperExpress或VisualStudio的任何付费版本(如VisualStudioProfessional)。VisualStudio中包含了ASPNETMVC。下面展示了下载所需软件的网址:VisualStudio或VisualStudioExpress:wwwmicrosoftcomvstudio或wwwmicrosoftcomexpress。ASPNETMVC:wwwaspnetmvc。第章将深入回顾软件需求并展示如何在开发环境和服务器上进行设置。源代码整本书中您会注意到当建议您安装NuGet包以尝试一些样例代码时我们会放置如下图标:InstallPackageSomePackageNameNuGet是OutercurveFoundation为NET和VisualStudio而编写的新包管理器后来被Microsoft公司整合到了ASPNETMVC中。我们不用再在Wrox网站上搜索源代码示例的压缩文件了因为我们可以通过使用NuGet轻松地把这些文件添加到ASPNETMVC应用程序中。我们认为自此尝试样例将不再痛苦而变得更容易、更方便。第章将详细介绍NuGet系统。在某些情况下书中涵盖了一些您可能想下载的单独代码段。这些代码可以在wwwwroxcom或http:wwwtupcomcndownpage上下载。登录该网站之后只需要使用ASPNETMVC高级编程XSearch框或标题列表中的一个找到书的标题单击本书详细页面上的DownloadCode链接即可下载本书涉及的所有源代码。在下载了代码后只需要用自己喜欢的解压缩软件对它们进行解压缩即可。另外也可以进入http:wwwwroxcomdynamicbooksdownloadaspx上的Wrox代码下载页面查看本书和其他Wrox图书的源代码。勘误表尽管我们已经尽了各种努力来保证文章或代码中不出现错误但是错误总是难免的如果您在本书中找到了错误例如拼写错误或代码错误请告诉我们我们将非常感激。通过勘误表可以让其他读者避免受挫当然这还有助于提供更高质量的信息。请给wkservicevipcom发电子邮件我们就会检查您的信息如果是正确的我们将在本书的后续版本中采用。要在网站上找到本书的勘误表可以登录http:wwwwroxcom通过Search框或书名列表查找本书然后在本书的详细页面上单击BookErrata链接。在这个页面上可以查看到Wrox编辑已提交和粘贴的所有勘误项。完整的图书列表还包括每本书的勘误表网址是wwwwroxcommiscpagesbooklistshtml。PPWROXCOM要与作者和同行讨论请加入ppwroxcom上的PP论坛。这个论坛是一个基于Web的系统便于您张贴与Wrox图书相关的消息和相关技术与其他读者和技术用户交流心得。该论坛提供了订阅功能当论坛上有新的消息时它可以给您传送感兴趣的论题。Wrox作者、编辑和其他业界专家和读者都会到这个论坛上探讨问题。在http:ppwroxcom上有许多不同的论坛它们不仅有助于阅读本书还有助于开发自己的应用程序。要加入论坛可以遵循下面的步骤:()进入ppwroxcom单击Register链接。()阅读使用协议并单击Agree按钮。()填写加入该论坛所需要的信息和自己希望提供的其他信息单击Submit按钮。()您会收到一封电子邮件其中的信息描述了如何验证账户完成加入过程。注意:不加入PP也可以阅读论坛上的消息但要张贴自己的消息就必须加入该论坛。前言XI加入论坛后就可以张贴新消息响应其他用户张贴的消息。可以随时在Web上阅读消息。如果要让该网站给自己发送特定论坛中的消息可以单击论坛列表中该论坛名旁边的SubscribetothisForum图标。关于使用WroxPP的更多信息可阅读PPFAQ了解论坛软件的工作情况以及PP和Wrox图书的许多常见问题。要阅读FAQ可以在任意PP页面上单击FAQ链接。序我很高兴参与了本书前两版的编写工作。当我决定不参与第版的编写时我不知道谁能胜任这份工作。谁能够填补我留下的空缺呢?嗯我知道只有这位最聪明、最优秀的研究人员可以胜任他们每一个都远比我知识渊博。PhilHaack是ASPNETMVC项目经理他从一开始就参与该项目。因为他有植根于社区和开源的背景所以我一向认为他不仅是一名优秀的技术人员而且还是一位亲密的朋友。Phil目前从事于ASPNET和称作NuGet的新NET包管理器的研究。现在我和Phil都在Web平台和工具团队我们俩正努力将Microsoft公司的ASPNET和开源项目推向一个新的高度。BradWilson不仅是我最爱的怀疑论者而且也是Microsoft公司ASPNETMVC团队中一名天才般的工程师。从动态数据到数据注解再到测试等没有作为程序员的Brad干不了的。他从事过许多开源项目(如XUnitNET)并继续推动Microsoft公司内外部人员走向光明。JonGalloway在Microsoft公司的开发指导小组(DeveloperGuidanceGroup)工作在那里他有机会接触成千上万的不熟悉ASPNETMVC的开发人员。他负责编写了MVCMusicStore教程该教程帮助成千上万的开发人员编写了他们的第一个ASPNETMVC应用程序。Jon也帮助组织mvcConfASPNETMVC开发人员的一系列免费在线会议。他与各种ASPNET社区的互动使得他拥有很强的洞察力知道开发人员如何开始、学习和掌握ASPNETMVC。最后也是相当重要的是KScottAllen增强了团队的力量不仅仅是因为他明智地决定使用他听起来更加智能的中间名而且也因为他带来了一个世界级著名教练的经验和智慧。ScottAllen是Pluralsight技术人员中的一员曾经在财富强公司从事网站和创业咨询方面的工作。他善良、体贴、值得尊重重要的是他非常透彻地了解自己。随着ASPNETWeb开发平台的发展这些伙计团结在一块儿共同把《ASPNETMVC高级编程》一书推到了一个新的高度。该平台目前正在由全球数百万的开发人员使用。一个充满朝气的社区支持该平台的在线版和离线版线上论坛(wwwaspnet)平均每天都有成千上万的问答。ASPNET和ASPNETMVC的应用面很广像新闻网站、网上零售商店以及我们最喜欢的社交网站。除此之外或许我们当地的运动队、读书俱乐部或博客使用的也是ASPNETMVC高级编程VIASPNETMVC。当ASPNETMVC刚刚被引入时它打破了很多领域。尽管使用的是旧模式但是这些模式对于现有的ASPNET社区来说都是新的它在生产率和控制、功能和灵活性之间求得了微妙的平衡。今天对我来说ASPNETMVC代表了选择语言的选择、框架的选择、开源库的选择、模式的选择。一切都是可插拔的。ASPNETMVC是我们对环境绝对控制的缩影如果喜欢就使用如果不喜欢就改变。我们可以按照自己想要的方式进行单元测试创建自己想要的组件使用自己选择的JavaScript框架。ASPNETMVC为我们带来了新的Razor视图引擎、一个通过NuGet可扩展的集成基架系统、使用项目模板的HTML、与依赖注入和全局操作过滤器的强关联以及强大的JavaScript支持(其中包括非侵入式的JavaScript、jQuery验证和JSON绑定)。ASPNETMVC团队已经创建了他们惊人框架的第个版本并且已经发布了源代码。我建议到wwwaspnetmvc上下载最新的内容以及最新的示例、视频和教程。我们都希望本书讲解的内容能够是您精通ASPNETMVC历程中的下一步。ScottHanselmanMicrosoftWeb平台和工具团队首席社区架构师致谢感谢我的家人和朋友他们给了我良好的精神状态。感谢整个ASPNET团队自年以来他们给我带来了无穷的工作乐趣尤其是BradWilson和PhilHaack他们回答了我成千上万个问题。最后感谢Philippians:时刻提醒我哪种方式是正确的。JonGalloway感谢我亲爱的妻子Akumi是她极大的支持才使得该书得以完成。我也想喊出对我的儿子Cody的感谢是他给了我一个两岁孩童能够给的明智建议我想自此他会尴尬年因为在我对他的感谢中用了一个与时代不符的词“喊出”。感谢我的女儿Mia是她的微笑点亮了我们的房间。PhilHaack作者简介JonGalloway是Microsoft公司社区项目经理主要从事于ASPNETMVC项目。他负责编写了MVCMusicStore教程并帮助组织mvcConf(一个免费的ASPNETMVC社区在线会议)年他游历世界为WebCamps教授MVC课程。Jon曾经供职于VertigoSoftware在那里他主要负责一些Microsoft会议网站、支持HighProfile的Silverlight视频播放器还有MIX主题演示。在这之前他曾在很多Web开发公司任职从朝气蓬勃的创业公司到财富强企业。他是HerdingCode博客(http:herdingcodecom)的一部分他的博客地址为http:weblogsaspnetjgalloway、Twitter账户名是jongalloway。PhilHaack是一名高级项目经理和ASPNET团队一起从事于ASPNETMVC项目。在加入Microsoft公司以前Phil做过代码搜索引擎的产品经理做过在线游戏公司的开发经理还做过一个很受欢迎的西班牙语的电视网络的高级架构设计师除此之外他还做过其他一些疯狂的职业。作为一个代码“瘾君子”PhilHaack喜欢设计软件。他不仅喜欢编写软件而且喜欢撰写关于软件和软件管理的博客他的博客网址为http:haackedcom。在业余时间Phil参加各种开源项目他是Subtext博客引擎项目的创始人当然该项目目前正在使用ASPNETMVC重写。BradWilson是Microsoft公司的一名高级软件开发工程师在Web平台和工具(WebPlatformandTools)团队从事于ASPNETMVC项目。在年他加入了Microsoft公司的模式和实践(PatternsandPractices)团队同时也在构建CodePlex开源托管站点团队中工作。在加入Microsoft公司之前的年里他就已经在各种软件公司做过开发人员、架构师、团队组长和CTO(首席技术官)。他也是xUnitnet开源开发测试框架的作者JamesNewkirk的合作作者。自从年他就积极地编写博客主要讲解一些ASPNET主题他的博客网址是http:bradwilsontypepadcom。他的Twitter账户名是bradwilson。KScottAllen是OdeToCode有限责任公司的创始人。Scott为世界各地的客户提供定制开发、咨询和指导服务。目录第章入门ASPNETMVC简介ASPNETMVC如何适应ASPNETMVC模式简介MVC在Web框架中的应用ASPNETMVC的发展历程Razor视图引擎验证的改善强大的JavaScript支持高级功能ASPNETMVC特性总结创建ASPNETMVC应用程序创建ASPNETMVC应用程序的软件要求安装ASPNETMVC创建ASPNETMVC应用程序NewASPNETMVCProject对话框ASPNETMVC应用程序的结构小结第章控制器控制器的角色控制器简史示例应用程序:MVCMusicStore控制器基础简单示例:HomeController创建第一个(非常简单的)控制器控制器操作中的参数小结第章视图视图的作用指定视图强类型视图视图模型添加视图AddView对话框中的选项自定义T视图模板Razor视图引擎Razor的概念代码表达式Html编码代码块Razor语法示例布局ViewStart指定分部视图视图引擎配置视图引擎查找视图ASPNETMVC高级编程XIV视图本身其他的视图引擎新的视图引擎还是新的ActionResult小结第章模型为MVCMusicStore建模为商店管理器构造基架基架的概念基架和实体框架执行基架模板执行基架代码编辑专辑创建编辑专辑的资源响应编辑时的POST请求模型绑定DefaultModelBinder模型绑定安全性简介显式模型绑定小结第章表单和HTML辅助方法表单的使用action和method特性GET方法还是POST方法HTML辅助方法自动编码辅助方法的使用HTML辅助方法的工作原理设置专辑编辑表单添加输入元素辅助方法、模型和视图数据强类型辅助方法辅助方法和模型元数据模板辅助方法辅助方法和ModelState其他输入辅助方法HtmlHiddenHtmlPasswordHtmlRadioButtonHtmlCheckBox渲染辅助方法HtmlActionLink和HtmlRouteLinkURL辅助方法HtmlPartial和HtmlRenderPartialHtmlAction和HtmlRenderAction小结第章数据注解和验证为验证注解订单验证注解的使用自定义错误提示消息及其本地化注解的后台原理控制器操作和验证错误自定义验证逻辑自定义注解IValidatableObject显示和编辑注解DisplayScaffoldColumnDisplayFormatReadOnlyDataTypeUIHintHiddenInput小结目录XV第章应用程序的安全性使用Authorize特性登录保护控制器操作Authorize特性在表单身份验证、AccountController控制器中的用法IntranetApplication模板中的WindowsAuthentication整个控制器的安全性要求角色成员使用Authorize特性扩展角色和成员Web应用程序中的安全向量威胁:跨站脚本威胁:跨站请求伪造威胁:cookie盗窃威胁:重复提交威胁:开放重定向适当的错误报告和堆栈跟踪使用配置转换使用Retail部署配置使用专门的错误日志系统安全回顾和有用资源小结第章AJAXjQueryjQuery的特性非侵入式JavaScriptjQuery的用法AJAX辅助方法AJAX的ActionLink方法HTML特性AJAX表单客户端验证jQuery验证自定义验证辅助方法之外jQueryUI使用jQueryUI实现自动完成部件JSON和jQuery模板提高AJAX性能使用内容分发网络脚本优化小结第章路由机制理解URL路由机制概述对比路由和URL重写路由的定义命名路由MVC区域CatchAll参数段中的多个URL参数StopRoutingHandler和IgnoreRoute路由的调试揭秘路由如何生成URL揭秘路由如何绑定到操作高层次请求的路由管道路由数据自定义路由约束WebForms和路由机制小结第章NuGetNuGet概述NUGET安装以包的形式添加库查找包安装包更新包ASPNETMVC高级编程XVI最近使用的包创建包文件夹结构NuSpec文件元数据依赖库指定要包含的文件工具框架和轮廓定位发布包发布到NuGetorg使用NuGetexe发布包包浏览器的用法托管私有的NuGet供应库小结第章依赖注入软件设计模式概述设计模式控制反转模式设计模式服务定位器设计模式依赖注入依赖解析器的用法单一注册服务复合注册服务创建任意对象小结第章单元测试单元测试和测试驱动开发的意义单元测试的定义测试驱动开发的定义创建单元测试项目检查默认单元测试只测试自己编写的代码单元测试用于ASPNETMVC应用程序的技巧和窍门控制器测试路由测试验证测试

类似资料

编辑推荐

王朝制度_地方社会与盐场兴衰_广东香山场与福建浔美场之比较.pdf

[日]黑川哲志:《环境行政的法理与方法》,肖军译,中国法制出版社,2008.pdf

原子结构的量子理论_斯莱特 _第二卷.pdf

范长江:中国的西北角.pdf

当代法国思想文化译丛 再生产:一种教育系统理论的要点.pdf

职业精品

精彩专题

上传我的资料

精选资料

热门资料排行换一换

  • 1 土的物理、水理、力学性质综述…

  • 《陆海空军军队符号》 , 194…

  • 《后方勤务 辎重之部》 , 19…

  • TBJ214-92铁路钢桥高强度…

  • TBJ37-93静力触探技术规则…

  • TB10417-2003铁路隧道…

  • 03世界史·近代史(上卷).pdf

  • 鎌田茂雄博士还历记念论集-中国的…

  • 《将校袖珍 (上下册)》陆军大学…

  • 资料评价:

    / 103
    所需积分:1 立即下载

    意见
    反馈

    返回
    顶部