ASP.NET MVC 3 高級編程

所属分类:編程語言與程序設計  
出版时间:2012-6   出版时间:加洛韋(Jon Galloway)、Phil Haack、Brad Wilson、 K.Scott Allen 清華大學出版社 (2012-06出版)   作者:(美)加洛韋(Jon Galloway) 等 著   页数:370   译者:孫遠帥  

内容概要

  《ASP.NET MVC 3 高級編程》是由Microsoft公司推出的、萬眾期待的用來創建數捌驅動,性動態Web應用程序的最新框架。本書由Microsoft公司內部團隊編寫,深入闡述了如何使用ASP.NETMVC 3的新特性及其激動人心的功能。本書首先簡單介紹了ASPNET MVC杠架,然後一步一步地向您展示如何安裝和創建ASP.NET MVC項目。另外,書中的MVC Music Store實用教程可幫助您鞏固概念,為您創建滿足真實需求的應用程序打下堅實的基礎。

作者简介

作者︰(美國)加洛韋(Jon Galloway) (美國)Phil Haack (美國)Brad Wilson (美國)K.Scott Allen 譯者︰孫遠帥  加洛韋(Jon Galloway),Microsoft公司社區項目經理,主要從事于ASRNET MVC項目。他負責編寫了MVC Music Store教程,並幫助組織mvcConf(一個免費的ASENET MVC社區在線會議),2010年,他游歷世界為Web Camps教授MVC課程。Jon曾經供職于Vertigo SoRware,在那里,他主要負責一些Microsoft會議網站、支持High Profile的Silverlight視頻播放器,還有MIX主題演示。在這之前,他曾在很多Web開發公司任職,從朝氣蓬勃的創業公司到財富500強企業。 Phil Haack是一名高級項目經理,和ASENET團隊一起從事于ASENET MVC項目。在加入Microsoft公司以前,Phil做過代碼搜索引擎的產品經理,做過在線游戲公司的開發經理,還做過一個很受歡迎的西班牙語的電視網絡的高級架構設計師,除此之外,他還做過其他一些瘋狂的職業。作為一個代碼“癮君子”,Phil Haack喜歡設計軟件。他不僅喜歡編寫軟件,而且喜歡撰寫關于軟件和軟件管理的博客。 Brad Wilson是Microsoft公司的一名高級軟件開發工程師,在Wleb平台和工具(Web Platform and Tools)團隊從事于ASENET MVC項目。在2005年,他加入了Microsoft公司的模式和實踐(Pattems and Practices)團隊,同時也在構建CodePlex開源托管站點團隊中工作。在加入Microsoft公司之前的20年里,他就已經在各種軟件公司做過開發人員、架構師、團隊組長和CTO(首席技術官)。他也是xUnit.net開源開發測試框架的作者James Newkirk的合作作者。自從2001年,他就積極地編寫博客,主要講解一些ASENET主題。 K.Scott Allen是OdeToCode有限責任公司的創始人。Scott為世界各地的客戶提供定制開發、咨詢和指導服務。

书籍目录

第1章 入门 1.1 ASP.NET MVC简介 1.1.1 ASP.NET MVC如何适应ASP.NET 1.1.2 MVC模式简介 1.1.3 MVC在Web框架中的应用 1.1.4 ASP.NET MVC 3的发展历程 1.1.5 Razor视图引擎 1.1.6 验证的改善 1.1.7 强大的JavaScript支持 1.1.8 高级功能 1.1.9 ASP.NEI’MVC 3特性总结 1.2 创建ASP.NETMVC 3应用程序 1.2.1 创建ASP.NET MVC 3应用程序的软件要求 1.2.2 安装ASP.NET MVC 3 1.2.3 创建ASP.NETMVC 3应用程序 1.2.4 New ASP.NET MVC 3 Project对话框 1.3 ASP.NET MVC应用程序的结构 1.4 小结 第2章 控制器 2.1 控制器的角色 2.2 控制器简史 2.3 示例应用程序:MVC Music Store 2.4 控制器基础 2.4.1 简单示例:Home Controller 2.4.2 创建第一个(非常简单的)控制器 2.4.3 控制器操作中的参数 ” 2.5 小结 第3章 视图 3.1 视图的作用 3.2 指定视图 3.3 强类型视图 3.4 视图模型 3.5 添加视图 3.5.1 Add vieW对话框中的选项 3.5.2 自定义T4视图模板 3.6 Razor视图引擎 3.6.1 Razor的概念 3.6.2 代码表达式 3.6.3 Html编码 3.6.4 代码块 3.6.5 Razor语法示例 3.6.6 布局 3.6.7 ViewStart 3.7 指定分部视图 3.8 视图引擎 3.8.1 配置视图引擎 3.8.2 查找视图 3.8.3 视图本身 3.8.4 其他的视图引擎 3.9 新的视图引擎还是新的ActionResult 3.10 小结 第4章 模型 4.1 为MVC Music Store建模 4.2 为商店管理器构造基架 4.2.1 基架的概念 4.2.2 基架和实体框架 4.2.3 执行基架模板 4.2.4 执行基架代码 4.3 编辑专辑 4.3.1 创建编辑专辑的资源 4.3.2 响应编辑时的POST请求 4.4 模型绑定 4.4.1 DefaultModelBinder 4.4.2 模型绑定安全性简介 4.4.3 显式模型绑定 4.5 小结 第5章 表单和HTML辅助方法 5.1 表单的使用 5.1.1 action和method特性 5.1.2 GET方法还是POST方法 5.2 HTML辅助方法 5.2.1 自动编码 5.2.2 辅助方法的使用 5.2.3 HTML辅助方法的工作原理 5.2.4 设置专辑编辑表单 5.2.5 添加输入元素 5.2.6 辅助方法、模型和视图数据 5.2.7 强类型辅助方法 _ 5.2.8 辅助方法和模型元数据 5.2.9 模板辅助方法 5.2.10 辅助方法和ModelState 5.3 其他输入辅助方法 5.3.1 Html.Hidden 5.3.2 Html.Password 5.3.3 Html.RadioBuRon 5.3.4 Html.CheckBox 5.4 渲染辅助方法 5.4.1 Html.ActionLink和Html.RouteLink 5.4.2 URL辅助方法 5.4.3 Html.Partial和Html.RenderPartial 5.4.4 Html.Action和Html.RenderAction 5.5 小结 第6章 数据注解和验证 6.1 为验证注解订单 6.1.1 验证注解的使用 6.1.2 自定义错误提示消息及其本地化 6.1.3 注解的后台原理 6.1.4 控制器操作和验证错误 6.2 自定义验证逻辑 6.2.1 自定义注解 6.2.2 IValidatableObject 6.3 显示和编辑注解 6.3.1 Display 6.3.2 ScaffoldColumn 6.3.3 DisplayFormat 6.3.4 ReadOnly 6.3.5 DataType 6.3.6 UIHint 6.3.7 Hiddenlnput 6.4 小结 第7章 应用程序的安全性 7.1 使用Authorize特性登录 7.1.1 保护控制器操作 7.1.2 Authorize特性在表单身份验证、AccountController控制器中的用法 7.1.3 Intranet Application模板中的Windows Authentication 7.1.4 整个控制器的安全性 7.2 要求角色成员使用Authorize特性 7.3 扩展角色和成员 7.4 Web应用程序中的安全向量 7.4.1 威胁:跨站脚本 7.4.2 威胁:跨站请求伪造 7.4.3 威胁:cookie盗窃 7.4.4 威胁:重复提交 7.4.5 威胁:开放重定向 7.5 适当的错误报告和堆栈跟踪 7.5.1 使用配置转换 7.5.2 使用Retail部署配置 7.5.3 使用专门的错误日志系统 7.6 安全回顾和有用资源 7.7 小结 第8章 AJAX 8.1 jQuery 8.1.1 jQuery的特性 8.1-2非侵入式JavaScript 8.1.3 jQuery的用法 8.2 AJAX辅助方法 8.2.1 AJAX的ActionLink方法 8.2.2 HTML 5特性 8.2.3 AJAX表单 8.3 客户端验证 8.3.1 jQuery验证 8.3.2 自定义验证 8.4 辅助方法之外 8.4.1 jQuery UI 8.4.2 使用jQuery UI实现自动完成部件 8.4.3 JSON和jQuery模板 8.5 提高AJAX性能 8.5.1 使用内容分发网络 8.5.2 脚本优化 8.6 小结 第9章 路由机制 9.1 理解URL 9.2 路由机制概述 9.2.1 对比路由和URL重写 9.2.2 路由的定义 9.2.3 命名路由 9.2.4 MVC区域 9.2.5 Catch-All参数 9.2.6 段中的多个URL参数 9.2.7 StopRoutingHandler和IgnoreRoute 9.2.8 路由的调试 9.2.9 揭秘路由如何生成URL 9.3 揭秘路由如何绑定到操作 9.3.1 高层次请求的路由管道 9.3.2 路由数据 9.4 自定义路由约束 9.5 Web Forms和路由机制 9.6 小结 第10章 NuGet 10.1 NuGet概述 10.2 NUGET安装 10.3 以包的形式添加库 10.3.1 查找包 10.3.2 安装包 10.3.3 更新包 10.3.4 最近使用的包 10.4 创建包 10.4.1 文件夹结构 10.4.2 NuSpec文件 10.4.3 元数据 10.4.4 依赖库 10.4.5 指定要包含的文件 10.4.6 工具 10.4.7 框架和轮廓定位 10.5 发布包 10.5.1 发布到NuGet.org 10.5.2 使用NuGet.exe发布包 10.5.3 包浏览器的用法 10.5.4 托管私有的NuGet供应库 10.6 小结 第11章 依赖注入 11.1 软件设计模式概述 11.1.1 设计模式——控制反转模式 11.1.2 设计模式——服务定位器 11.1.3 设计模式一依赖注入 11.2 依赖解析器的用法 11.2.1 单一注册服务 11.2.2 复合注册服务 11.2.3 创建任意对象 11.3 小结 第12章 单元测试 12.1 单元测试和测试驱动开发的意义 12.1.1 单元测试的定义 12.1.2 测试驱动开发的定义 12.2 创建单元测试项目 12.2.1 检查默认单元测试 12.2.2 只测试自己编写的代码 12.3 单元测试用于ASP.NET MVC应用程序的技巧和窍门 12.3.1 控制器测试 12.3.2 路由测试 12.3.3 验证测试 12.4 小结 第13章 扩展ASP.NET MVC 13.1 模型扩展 13.1.1 把请求数据转化为模型 13.1.2 用元数据描述模型 13.1.3 验证模型 13.2 视图扩展 13.2.1 自定义视图引擎 13.2.2 编写HTML辅助方法 13.2.3 编写Razor辅助方法 13.3 控制器扩展 13.3.1 操作选择 13.3.2 操作过滤器 13.3.3 提供自定义结果 13.4 小结 第14章 高级主题 14.1 高级Razor 14.1.1 模板化的Razor委托 14.1.2 视图编译 14.2 高级基架 14.2.1 自定义T4代码模板 14.2.2 NuGet包MvcScaffolding 14.2.3 更新的Add Controller对话框选项 14.2.4 使用库模板 14.2.5 添加基架器 14.2.6 额外资源 14.3 高级路由 14.3.1 RouteMagic 14.3.2 可编辑的路由 14.4 模板 14.4.1 默认模板 14.4.2 自定义模板 14.5 高级控制器 14.5.1 定义控制器:IController接口 14.5.2 ControllerBase抽象基类 14.5.3 控制器类和操作 14.5.4 ActionResult 14.5.5 操作调用器 14.5.6 使用异步控制器操作 14.6 小结

章节摘录

版權頁︰   插圖︰   1.1.7 強大的JavaScript支持 JavaScript是任何現代Web應用程序的重要組成部分。依照目前最好的JavaScript集成標準,ASENET MVC 3中添加了一些客戶端開發的重要支持。想更多地了解ASP.NET MVC 3中新JavaScript的相關特性,請參閱第8章內容。 1.非侵入式JavaScript 非侵入式JavaScript是一個一般術語,它表達了一個哲理,類似于術語表述性的狀態轉移(Representational State Transfer,REST)。非侵入式JavaScript的高層次描述就是不影響網頁標記。例如,非侵入式JavaScript鏈接頁面元素是通過元素的ID或類而不是通過事件特性(例如onclick和onsubmit)。 當認為HTML文檔只是一個文檔時,非侵入式JavaScript有很大的意義。它有語義的意義,所有這些(像標簽結構和元素特性等)應該有一個精確的含義。為了促進交互(即使用_doPostBack)而讓JavaScript遍布整個頁面是不利于文檔內容的。 ASENET MVC 3采用兩種方式支持非侵入式JavaScript,分別是︰ Ajax 輔助類(比如Ajax.ActionLink和Ajax.BeginForm)結合利用擴展的特(data一特性)和jQuery技術為FORM標簽提供簡潔的標記 Ajax驗證不再將驗證規則以一塊(JSON數據有時很大)發出,而是應用data.特性發出。盡管從技術上考慮ASP.NET MVC 2的驗證系統相當不唐突,但是ASP.NET MVC 3系統更加不唐突一一標記更加輕量化,data.特性的使用使得應用jQuery和其他JavaScript庫的驗證信息的利用和重用更加簡單。 2.jQuery驗證 ASENET MVC 2用jQuery進行傳送,而用MicrosoftAjax進行驗證。ASENET MVC 3通過將驗證支持轉換到流行的jQuery驗證插件上運行,完成了使用jQuery的Ajax支持的過渡。非侵入式JavaScript支持(前面討論過)和使用標準插件系統的jQuery驗證的結合使得驗證極其靈活,同時還可從強大的jQuery社區中獲得益處。 目前在新的ASENET MVC 3工程項目中,客戶端驗證默認是打開的,並且可以通過使用web.config設置或在global.asax中編碼(以備項目升級)使其在整個站點中啟用。 3.JSON綁定 ASP.NET MVC 3通過新的JsonValueProviderFactory支持JSON(JavaScript Object Notation)綁定,這樣可以使您的操作方法接受和模型綁定(model-bind)JSON格式的數據。這一點在高級的AjaX應用(像客戶端模板和需要將數據傳回服務器的數據綁定)中非常有用。 1.1.8高級功能 到目前為止,我們已經談到了ASENET MVC 3如何完成很多像視圖模板和驗證那樣簡單但很費腦筋的任務。ASP.NT MVC 3通過支持依賴項解析和全局操作過濾器在簡化比較復雜的應用程序級任務方面也取得了一些大的進展。 1.依賴項解析 ASP.NET MVC 3引入了一個全新的概念,稱作依賴解析器(dependency resolver),從而大大簡化了在應用程序中依賴注入的使用。這使得分離應用程序組件更加容易,從而使組件更容易配置和測試。 下面列舉的方案已經添加了對依賴解析器的支持︰ 控制器(注冊和注入控制器工廠,注入控制器) 視圖(注冊和注入視圖引擎,向視圖頁面注入依賴關系) 操作過濾器(定位和注入過濾器) 模型綁定器(注冊和注入) 模型驗證提供器(注冊和注入) 模型元數據提供器(注冊和注入) 值提供器(注冊和注入) 這是一個大的話題,本書將在第ll章中進行專門講解。 2.全局操作過濾器 ASENET MVC 2的操作過濾器可以提供一段執行代碼的鉤子,使得該段代碼可以在一個方法執行之前或之後運行。這個功能可以通過自定義特性實現,自定義的特性可以應用于控制器操作或者整個控制器。ASENEI’MVC 2就帶有一些過濾器,像Authorize特性。 ASENET MVC 3運用適用于程序中所有操作方法的全局操作過濾器擴展了這一功能,這對于處理應用程序基礎結構問題,像錯誤處理和日志記錄尤其有用。 1.1.9 ASP.NET MVC 3特性總結 這些特性很強大,如果由我設計產品包裝盒的話,我會將這兩句話寫在上面︰ ASP.NET MVC現在變得如此簡單,如果您以前推遲了ASP.NET MVC的學習,那麼現在您就沒有理由再推脫了 如果您已經使用ASP.NET MVC一段時間了,那麼ASP.NET MVC 3將會使您的最難代碼變得不必要。 這些是一個快速的介紹性總結,這些特性以及其他的ASENE'I’MVC 3的特性會涵蓋在全書中。如果您想要關于ASENET MVC 3的在線新特性總結,請查閱http︰asp.netmvcmvc3#overview上的內容。

媒体关注与评论

對一名ASP.NET開發人員來說,這是一個偉大的時刻!無論是對于已經擁有ASP.NET多年開發經驗的開發人員,還是對于剛剛入門的初學者,現在都是深入學習ASP.NETMVC3的絕佳時機。ASP.NETMVC從一開始就有很多樂趣,再加上現在又添加了很多特性,像新的Razor視圖引擎、集成了NuGet包管理系統、深度整合了jQuery並且具有很強大的可擴展性。因此,使用ASP.NETMVC3會給我們帶來很多的樂趣!隨著ASP.NETMVC新版本的發布,相對于本書的前兩版而言,其內容已經變化很多,足以讓我們重新編寫該書。ASP.NETMVC團隊成員BradWilson和著名的ASP.NET專家K.ScottAllen加入了我們的作者隊伍。因此,我們已經有足夠的能力創造一本嶄新的書。加入我們會有一個有趣翔實的ASP.NETMVC3之旅!

编辑推荐

《ASP.NET MVC 3 高級編程》適用于希望向網站添加更多完整的測試,以及希望能做出一些與眾不同的內容的Web開發人員。《ASP.NET MVC 3 高級編程》由Microsoft公司內部用隊編寫,深入闡述了如何使用ASENETMVC 3的新特性及其激動人心的功能。《ASP.NET MVC 3 高級編程》首先簡單介紹了ASRNET MVC框架,然後一步一步地向您展示如何安裝和創建ASENET MVC項目。另外,書中的MVC Music Store實用教程可幫助您鞏同概念,為您創建滿足真實需求的應用程序打下堅實的基礎。

图书封面




    ASP.NET MVC 3 高級編程下載



用户评论 (总计18条)

 
 

  •     大師級的作品的確不同一般,無論從章節順序安排,還是技術細節都處理的很到位。很多地方將ASP.NET MVC 與 Web Form做比較,更容易掌握mvc的核心內容。翻譯也很到位,讀起來比較流暢。不過就內容深度而言,個人覺得還淺了點,更有更多的高級話題就更好了。
  •     內容不錯,不過紙質差點
  •     書的質量還行,內容還沒有詳細閱讀,所有還不知道
  •     紙張很差,並且,里面的知識點也很差
  •     最近在開始學習MVC,先看這本書的PDF文檔,已經覺得此書合適學習,書到手後看了些內容,也很喜歡……
  •     不過很多地方暫時還看不懂,繼續學習吧,,,
  •     入門書籍入門書籍入門書籍
  •     不知道是怎麼翻譯的,也不知道是怎麼命的名,書的內容作為入門asp.net mvc3是非常好的,但並不是什麼高深的高級編程。
  •     翻譯很給力,並且書也適合初學者看。講解也很清晰!
  •     買回來把前3章看了幾遍,竟然還不明白作者要說的是什麼。這種情況我這輩子只遇到過2次︰第一次 也是相同 的紅皮書,名字忘了,和MFC開發相關的。
  •     不錯很好、非常適合我、
  •     很專業的書籍,這就是我買它的原因,不過看完本書發現本人水平所限,現有資源太少,暫時不用MVC
  •     是正版書,包裝很好~~~
  •     还行吧·
  •     不錯就是有點過時了
  •     ASP.NET MVC3 高級編程 很不錯,易懂~!
  •     ASP.NET MVC 3 高級編程
  •     書不錯我很需要
 

計算機與互聯網 PDF免费下载,編程語言與程序設計PDF免费下载。 计算机教程网 

计算机教程网 @ 2017