新書推薦:
《
没有伞的孩子必须努力奔跑
》
售價:NT$
149.0
《
做最好的班主任(李镇西教育文集版)
》
售價:NT$
230.0
《
数据驱动法律
》
售價:NT$
390.0
《
对话世界一流大学图书馆馆长
》
售價:NT$
995.0
《
揭秘立体翻翻书--我们的国宝
》
售價:NT$
490.0
《
清代贡院史
》
售價:NT$
800.0
《
光焰摇曳——变革与守望的梁启超
》
售價:NT$
440.0
《
发展与制约:明清江南生产力研究(壹卷李伯重文集:江南水乡,经济兴衰,一本书带你穿越历史的迷雾)
》
售價:NT$
480.0
|
編輯推薦: |
展示如何高效运用ASP.NETMVC的实用指南
全新版本,丰富示例,
全面讲解开发主题,新的WebAPI和完整的系统测试
ASP.NETMVP及ASP专家写作,拥有丰富的实际工作经验,也是ASP.NETMVC的最早用户
|
內容簡介: |
《ASP.NET MVC 4实战》讲解深入到ASP.NET MVC开发内部,可作为在.NET平台上开发Web应用程序的程序员的一本很好的指南。
《ASP.NET MVC 4实战》分为3部分,共24章。第1部分第1~4章介绍ASP.NET MVC框架,通过创建一个简单的留言簿应用程序,解释该框架的核心概念。第2部分第5~15章涉及几个在使用ASP.NET MVC时需要理解的重要的主题,包括验证、Ajax、安全性和路由,并用一些具体示例以阐述这些概念。此外,这部分还讲解了一些编程技巧,例如,如何构建视图专用模型和轻量控制器。最后讲解了如何在MVC应用程序中利用第三方的NHibernate项目进行数据访问。第3部分第16~24章探讨了几个高级主题,主要侧重于框架的可扩展点,包括如何扩展控制器、如何使用依赖性注入,以及如何扩展区域以使得它们易于可重新分发。第23章和第24章涉及移动布局和Web API,这些是以前的ASP.NET MVC版本不能向后兼容的特性。
《ASP.NET MVC 4实战》适合希望采用ASP.NET MVC技术从事Web应用程序开发的人员阅读,也可作为大专院校教授ASP.NET MVC开发技术的教材,也可供从事软件设计与开发的相关技术人员参考。
|
關於作者: |
JeffreyPalermo是两个孩子(GwynethRose和Xander)的爸爸,也是一个幸运的丈夫。在空余时间,他喜欢笨拙地弹奏吉他和学习有关业务。在业务领域,他是以Austin(奥斯汀,得克萨斯州府)为基地的软件咨询公司Headspring的总裁兼COO(首席运营官)。Jeffrey领导了Headspring咨询业务的成长―从一个小型的开发公司成长为一个数百万美元的软件定制公司。认识到软件历史、趋势、潮流和持续摇摆就是技术产业,Jeffrey一直在寻求一种更好的构建软件方式―他能够在其中使用新的技术而又不失过去的优势。他常常忽视产业潮流,而倡导适度、简单的办法。Jeffrey自2006年起便被微软认定为MVP。他在很多业界会议,如VSLive、DevTeach、微软MVP峰会,各种ALT.NET会议,以及MicrosoftTechEd上做过演讲或起过推动作用。他也曾作为INETA演讲者协会(INETASpeakers’Bureau)的成员,为全国的用户组做过演讲。他毕业于TexasAM大学,是老鹰童子军奖章获得者、伊拉克战争老兵,目前正在JackWelch管理学院学习MBA课程。
JeffreyPalermo还负责流行的“Palermo聚会”(作者发起的聚会―译者注)活动,该活动往往安排在以微软技术为主题的会议前夕。“Palermo聚会”始于2005年6月,已经越来越流行,参与人数也越来越多。每次活动一般都有数百人参加,提供免费的饮料、美食和抽奖。这是在会议开始前一周联络朋友和同事的最佳方式。你可以在http:partywithpalermo.com看到已举办和即将举办的聚会。该网站自2007年10月便运行在ASP.NETMVC上。
最后,Jeffrey和EricHexter一起创立了MvcContrib开源项目。如今,该项目可以在微软CodePlex基金会的主页上找到,它是其非盈利软件库中被接纳的第一个非软件项目。
JimmyBogard是Headspring的一位技术架构师。他是一位具有6年专业开发经验的Agile软件开发人员。他为许多客户提供从概念到产品的系统解决方案,这些方案涵盖了小型产品到财富百强的企业级电子商务应用。他还是一位MCAD(MicrosoftCertifiedApplicationDeveloper,微软认证的应用程序开发专家),也是.NET社区的一位活跃的成员,领导着开源项目,提供技术陈述,并促进图书俱乐部。
目前,Jimmy是NBehave项目(一个.NET的行为驱动开发框架)和AutoMapper(一个基于约定的“对象-对象”映射器)的首席开发人员,他是AustinDomain-DrivenDesignBookClub(Austin域驱动设计图书俱乐部)的主持人。Jimmy是ASPInsiders和C#Insiders小组的成员,并于2009年获
|
目錄:
|
第1部分 快速基础
第1章 绪论
1.1 发展阶段
1.1.1 .NET平台
1.1.2 ASP.NET Web Form
1.2 ASP.NET MVC是什么
1.2.1 MVC模式
1.2.2 ASP.NET MVC的好处
1.3 ASP.NET MVC 34的新特性
1.3.1 Razor视图引擎
1.3.2 NuGet包管理
1.3.3 改进的可扩展性
1.3.4 全局动作过滤器
1.3.5 动态语言特性
1.3.6 部分页面输出缓存
1.3.7 Ajax改进
1.3.8 验证改进
1.4 小结
第2章 第一个MVC应用程序
2.1 设置开发环境
2.2 创建第一个MVC应用程序
2.2.1 创建新项目
2.2.2 漫游默认项目模板的结构
2.2.3 控制器、动作,以及显示动态内容
2.3 Guestbook示例应用程序
2.3.1 创建数据库
2.3.2 添加模型
2.3.3 接受留言簿条目
2.3.4 显示留言簿条目
2.3.5 用布局定制外观
2.4 小结
第3章 视图基础
3.1 视图简介
3.1.1 选择待渲染视图
3.1.2 重写视图名
3.2 给视图传递数据
3.2.1 ViewDataDictionary
3.2.2 ViewBag
3.2.3 带有视图模型的强类型视图
3.2.4 在视图中显示视图模型数据
3.3 使用强类型模板
3.3.1 EditorFor和DisplayFor模板
3.3.2 内建模板
3.3.3 选择模板
3.3.4 定制模板
3.4 小结
第4章 充满动作的控制器
4.1 考察控制器和动作
4.1.1 IController与控制器基类
4.1.2 如何形成动作方法
4.2 哪些应该放在动作方法中
4.2.1 手动映射视图模型
4.2.2 输入验证
4.3 单元测试介绍
4.3.1 使用已提供的测试项目
4.3.2 测试GuestbookController
4.4 小结
第2部分 使用ASP.NET MVC
第5章 视图模型
5.1 什么是视图模型
5.1.1 在线商店示例
5.1.2 建立视图模型
5.1.3 交付表现模型
5.1.4 ViewData.Model
5.2 表现用户输入
5.2.1 设计输入模型
5.2.2 在视图中表示输入模型
5.2.3 使用提交的输入
5.3 用于显示和输入的复杂模型
5.3.1 设计显示和输入的组合模型
5.3.2 使用输入模型
5.4 小结
第6章 验证
6.1 服务器端验证
6.1.1 Data Annotations验证
6.1.2 扩展ModelMetadataProvider
6.2 客户端验证
6.2.1 客户端验证初步
6.2.2 使用RemoteAttribute
6.2.3 创建自定义客户端验证器
6.3 小结
第7章 ASP.NET MVC中的Ajax
7.1 使用jQuery的Ajax
7.1.1 jQuery初步
7.1.2 使用jQuery形成Ajax请求
7.1.3 渐进式增强
7.1.4 使用Ajax提交表单数据
7.2 ASP.NET MVC的Ajax辅助器
7.2.1 Ajax.ActionLink
7.2.2 Ajax.BeginForm
7.2.3 Ajax选项
7.2.4 与ASP.NET MVC早期版本的差别
7.3 使用JSON和客户端模板的Ajax
7.3.1 使用JSON的Ajax
7.3.2 客户端模板
7.3.3 最后润色
7.4 创建自动完成的文本框
7.5 小结
第8章 安全性
8.1 认证与授权
8.1.1 以AuthorizeAttribute限制访问
8.1.2 AuthorizeAttribute的工作机制
8.2 跨网站脚本攻击XSS
8.2.1 动作中的XSS
8.2.2 避免XSS漏洞
8.3 跨网站请求伪造XSRF
8.3.1 XSRF的运作
8.3.2 防止XSRF
8.3.3 JSON劫持
8.4 小结
第9章 以路由控制URL
9.1 介绍URL路由
9.1.1 默认路由
9.1.2 入站与出站路由
9.2 设计URL方案
9.2.1 建立简单、整洁的URL
9.2.2 建立可破解的URL
9.2.3 使用URL参数区分请求
9.2.4 尽可能避免暴露数据库ID
9.2.5 考虑添加多余信息
9.3 在ASP.NET MVC中实现路由
9.3.1 在线商店的URL方案
9.3.2 添加自定义静态路由
9.3.3 添加自定义的动态路由
9.3.4 全匹配路由
9.4 使用路由系统生成URL
9.5 ASP.NET Web Form的路由
9.5.1 添加Web Form页面的路由
9.5.2 通过Web Form页面生成URL
9.6 调试路由
9.6.1 安装Route Debugger
9.6.2 使用Route Debugger
9.6.3 使用路由约束
9.7 测试路由行为
9.7.1 测试入站路由
9.7.2 测试出站路由
9.8 小结
第10章 模型绑定器与值提供器
10.1 创建自定义模型绑定器
10.2 使用自定义值提供器
10.3 小结
第11章 利用AutoMapper进行映射
11.1 AutoMapper之前的生活
11.2 AutoMapper介绍
11.2.1 映射匹配的属性名字
11.2.2 平整对象层次
11.3 AutoMapper基础
11.3.1 AutoMapper初始化
11.3.2 AutoMapper简档
11.3.3 健全性检查
11.3.4 减少重复的格式化代码
11.3.5 另一种视图
11.4 小结
第12章 轻量级控制器
12.1 控制器为何要轻量级
12.1.1 易于维护
12.1.2 易于测试
12.1.3 聚焦的职责
12.2 简化控制器的技术
12.2.1 管理常用视图数据
12.2.2 派生动作结果
12.2.3 使用应用程序总线
12.3 小结
第13章 利用区域进行组织
13.1 创建一个基本的区域
13.2 用T4MVC管理链接和URL
13.3 小结
第14章 第三方组件
14.1 学习NuGet
14.1.1 更新包
14.1.2 理解NuGet基础
14.2 使用ASP.NET的Web辅助器
14.3 MvcContrib Grid组件
14.3.1 使用MvcContrib Grid
14.3.2 MvcContrib Grid高级用法
14.4 小结
第15章 以NHibernate进行数据访问
15.1 参考实现的功能概述
15.2 应用程序体系架构概述
15.3 考察内核
15.4 NHibernate配置——应用程序的底层架构
15.4.1 NHibernate的配置
15.4.2 NHibernate映射——简单但功能强大
15.4.3 初始化配置
15.5 通过UI表现模型
15.6 共同协作
15.7 小结
第3部分 掌握ASP.NET MVC
第16章 扩展控制器
16.1 控制器可扩展性
16.2 控制器动作
16.3 动作、授权与结果过滤器
16.4 动作选择器
16.5 使用动作结果降低复杂性
16.5.1 利用动作结果消除复制
16.5.2 使用动作结果抽象难以测试的依赖性
16.6 小结
第17章 高级视图技术
17.1 消除视图中的复制
17.1.1 布局
17.1.2 分部
17.1.3 子动作
17.2 构建查询字符串参数列表
17.3 考察Spark视图引擎
17.3.1 安装与配置Spark
17.3.2 简单的Spark视图示例
17.4 小结
第18章 依赖性注入与可扩展性
18.1 依赖性注入简介
18.1.1 什么是DI
18.1.2 使用构造器注入
18.1.3 接口介绍
18.1.4 使用DI容器
18.2 在ASP.NET MVC中使用DI
18.2.1 自定义控制器工厂
18.2.2 使用依赖性解析器
18.3 小结
第19章 便携式区域
19.1 NuGet打包基础
19.1.1 一个简单的待打包区域
19.1.2 使用便携式区域
19.2 创建一个便携式区域的RSS部件
19.3 与便携式区域总线之间的交互
19.4 小结
第20章 完整的系统测试
20.1 测试UI层
20.1.1 安装测试软件
20.1.2 漫游手工测试
20.1.3 自动化测试
20.1.4 运行测试
20.2 建立可维护的导航
20.3 与表单的交互
20.4 断言结果
20.5 小结
第21章 托管ASP.NET MVC应用程序
21.1 托管环境
21.2 XCOPY部署
21.3 IIS 7
21.4 IIS 6与5.1
21.5 Azure托管
21.5.1 什么是Windows Azure,如何获取它
21.5.2 为Azure部署配置应用程序
21.5.3 打包并部署应用程序
21.5.4 访问在Windows Azure中运行的应用程序
21.6 小结
第22章 部署技术
22.1 部署持续集成
22.2 启用按钮式XCOPY部署
22.3 管理环境配置
22.4 用Web Deploy启用远程服务器部署
22.5 小结
第23章 升级到ASP.NET MVC 4
23.1 DisplayModes的运行时视图选择
23.1.1 使用移动的DisplayMode
23.1.2 创建新的DisplayModes
23.1.3 使用户能够重写DisplayModes
23.2 组合并最小化客户端资源
23.3 对Razor的改进
23.3.1 自动化的“波浪线-斜线”解析
23.3.2 条件属性
23.4 小结
第24章 ASP.NET Web API
24.1 Web API是什么
24.1.1 为什么要用Web API
24.1.2 Web API与WCF的区别
24.2 为Guestbook应用程序添加Web服务
24.2.1 创建GET型的Web服务
24.2.2 创建POST型的Web服务
24.3 Web API的可选办法
24.4 小结
|
|