【书名】
Web
开发新体验:
ASP.NET 3.5 MVC
架构与实战
【作者】
龚赤兵
【ISBN】
978-7-121-09216-9
【出版社】电子工业出版社
【出版日期】
2009
年
9
月
【定 价】
69.50
元(含光盘
1
张)
【本书特色】
国内第一本ASP.NET MVC的技术专著
微软力捧之Web开发明日之星――ASP.NET 3.5 MVC
体验+架构+实战,系统解读,深度剖析。
真实网站项目,全面提升ASP.NET 3.5 MVC框架应用开发功力
【内容简介】
ASP.NET 3.5 MVC框架,是微软今后开发Web应用程序的一个主流技术。初学者学习ASP.NET 3.5 MVC框架,将面对职场上带来众多全新的Web开发职位机遇,成就自我职业人生。
全书分为3大部分23章,以“体验篇―架构篇―实战篇”为线索展开讲解。在体验篇中,介绍了ASP.NET 3.5 MVC框架方方面面的基础知识;在架构篇中,循序渐进阐述二层、三层架构原理,彻底解密多层架构开发;在实战篇中,采用ASP.NET 3.5技术,基于多层架构实现了原创的ASP.NET 3.5 MVC博客网站,便于初学者学习、运用ASP.NET 3.5 MVC技术。
随书所附光盘包含实例源文件。
本书内容基础、全面,适合ASP.NET 3.5 MVC的初学者学习,同时,也可作为相关培训机构或高等院校的教学参考用书。
【目录】
第1篇 体 验 篇
第1章 初识ASP.NET 3.5 MVC开发 3
1.1 ASP.NET 3.5 MVC概述 4
1.1.1 为什么使用
ASP.NET 3.5 MVC框架 4
1.1.2 基本概念 5
1.1.3 ASP.NET 3.5 MVC框架的特点 6
1.2 初创ASP.NET 3.5 MVC应用项目 7
1.2.1 约定的目录结构 9
1.2.2 执行过程 12
1.2.3 构建模型 13
1.2.4 控制器 15
1.2.5 创建视图 19
1.3 URL路由 27
1.3.1 URL路由设置 27
1.3.2 使用URL路由 31
1.4 思考与提高 32
第2章 路由进阶 33
2.1 解读Default.aspx页面 34
2.1.1 Default.aspx页面不被
路由解析 34
2.1.2 路由解析Default.aspx页面 35
2.2 路由匹配监测 36
2.2.1 路由匹配监测器 36
2.2.2 路由解析Default.aspx页面的
监测 37
2.2.3 添加路由 38
2.3 设置路由的扩展方法 40
2.3.1 Route类 40
2.3.2 RouteCollection类 41
2.3.3 MapRoute()扩展方法 43
2.3.4 优化路由设置 44
2.4 自定义路由约束 45
2.4.1 添加自定义路由约束类 45
2.4.2 设置路由 48
2.4.3 运行界面 49
2.5 路由解析分析 50
2.5.1 路由解析管道 50
2.5.2 UrlRoutingModule类 51
2.5.3 IRouteHandler接口 55
2.5.4 IHttpHandler接口 56
2.6 在Web Form项目中使用路由 59
2.6.1 WebFormRouteHandler类 59
2.6.2 配置全局应用程序类 60
2.6.3 运行界面 60
2.7 思考与提高 62
第3章 HtmlHelper控件解析 63
3.1 HtmlHelper概述 64
3.1.1 HtmlHelper类 64
3.1.2 视图中的HTML属性 64
3.2 FormExtensions类 65
3.2.1 BeginForm 65
3.2.2 BeginRouteForm 67
3.2.3 EndForm 67
3.3 InputExtensions类 68
3.3.1 CheckBox 68
3.3.2 Hidden 70
3.3.3 Password 70
3.3.4 RadioButton 71
3.3.5 TextBox 72
3.4 LinkExtensions类 73
3.4.1 ActionLink 73
3.4.2 RouteLink 74
3.5 RenderPartialExtensions类 75
3.6 SelectExtensions类 76
3.6.1 DropDownList 77
3.6.2 ListBox 79
3.7 TextAreaExtensions类 80
3.8 ValidationExtensions类 81
3.8.1 ValidationMessage 82
3.8.2 ValidationSummary 82
3.9 思考与提高 90
第4章 自定义GridView控件开发 91
4.1 扩展方法概述 92
4.1.1 定义扩展方法 92
4.1.2 使用扩展方法 93
4.1.3 泛型的扩展方法 94
4.2 Html TextWriter类概述 97
4.2.1 创建HtmlTextWriter类 97
4.2.2 RenderBeginTag()和Render
EndTag()方法 97
4.2.3 AddAttribute()方法 98
4.3 GridView控件开发 98
4.3.1 GridView控件的基本功能 98
4.3.2 构建分页列表 99
4.3.3 构建LINQ查询的扩展方法 100
4.3.4 构建GridViewOption类 102
4.3.5 构建GridViewHelper类 104
4.3.6 LINQ动态查询 109
4.3.7 GridView的使用方法 110
4.4 思考与提高 112
第5章 自定义视图引擎 113
5.1 正则表达式概述 114
5.1.1 正则表达式 114
5.1.2 语法规则 115
5.2 自定义视图引擎 115
5.2.1 创建自己的视图引擎 115
5.2.2 创建自己的视图 116
5.2.3 创建其他类 122
5.2.4 配置全局应用程序类 125
5.2.5 自定义视图引擎的运行 125
5.3 思考与提高 128
第6章 图表开发 129
6.1 MSChart图表控件概述 130
6.1.1 图表类型 130
6.1.2 财务分析 139
6.1.3 统计分析 139
6.2 使用MSChart图表控件 140
6.2.1 下载、安装相关软件 140
6.2.2 创建MvcChart项目 141
6.2.3 模型构建 142
6.2.4 如何实现控制器 144
6.2.5 如何实现视图 151
6.2.6 MvcChart项目的运行 152
6.3 思考与提高 152
第7章 大、中型ASP.NET 3.5 MVC
项目开发 153
7.1 个性化目录结构 154
7.1.1 目录结构 154
7.1.2 个性化ASP.NET 3.5 MVC
项目的目录结构 155
7.2 控制器分组开发 159
7.2.1 新建ASP.NET 3.5 MVC网站 159
7.2.2 新建路由设置扩展方法 159
7.2.3 新建个性化视图引擎 160
7.2.4 全局应用程序类配置 163
7.2.5 控制器分组项目的结构 164
7.2.6 运行控制器分组项目 164
7.3 思考与提高 166
第8章 过滤器解析、开发 167
8.1 过滤器概述 168
8.1.1 OutputCacheAttribute类 168
8.1.2 AuthorizeAttribute类 171
8.1.3 HandleErrorAttribute类 172
8.2 自定义异常处理过滤器 173
8.2.1 创建网站运行异常监测项目 173
8.2.2 创建WebRequestError
EventMvc类 174
8.2.3 创建MyHandleError
Attribute类 175
8.2.4 设置web.config配置文件 177
8.2.5 实现异常情况浏览 178
8.2.6 项目运行 181
8.3 思考与提高 182
第9章 控制器与视图之间的
数据传递 183
9.1 3种传递数据方法 184
9.1.1 使用ViewData传递数据 184
9.1.2 使用TempData传递数据 185
9.1.3 使用Model传递数据 185
9.2 传递多个数据对象 187
9.3 表单数据绑定 189
9.3.1 通过Request.Form读取
表单数据 189
9.3.2 通过FormCollection读取
表单数据 190
9.3.3 直接读取表单数据对象 191
9.3.4 自定义数据绑定 192
9.4 思考与提高 198
第10章 jQuery视图开发 199
10.1 jQuery概述 200
10.1.1 安装jQuery智能感知补丁 200
10.1.2 jQuery的主要特点 200
10.2 Datepicker日期选择控件 202
10.2.1 Datepicker日期选择
控件概述 202
10.2.2 多种主题的Datepicker日期
选择控件 202
10.2.3 设计个性化主题的
Datepicker日期控件 204
10.2.4 Datepicker日期控件
使用简介 206
10.3 jqGrid表格控件 209
10.3.1 引入jqGrid表格控件 209
10.3.2 设置jqGrid表格控件 210
10.3.3 模型构建 211
10.3.4 实现JSON数据 211
10.3.5 jqGrid表格控件的运行 214
10.4 通过用户控件开发Ajax应用 215
10.4.1 模型构建 217
10.4.2 构建控制器 218
10.4.3 实现视图 220
10.5 通过jQuery开发Ajax应用 224
10.5.1 jQuery中的Ajax函数 224
10.5.2 程序的运行界面 226
10.5.3 设置JSON数据 227
10.5.4 实现jQuery代码 228
10.6 思考与提高 230
第11章 多项目混合开发 231
11.1 混合开发概述 232
11.1.1 Visual Studio 2008中
提供的项目类别 232
11.1.2 开发与ASP.NET 3.5 MVC
项目相关的混合项目 232
11.2 在ASP.NET 3.5 MVC项目中
添加Web Forms 233
11.2.1 新建动态数据Web应用程序 233
11.2.2 新建ASP.NET 3.5 MVC项目
MvcHybridDemo 234
11.2.3 在ASP.NET 3.5 MVC项目中
添加动态数据Web应用程序 235
11.2.4 在ASP.NET 3.5 MVC项目中
添加Web Forms页面 240
11.3 在Web Form项目中添加
ASP.NET 3.5 MVC项目 242
11.3.1 新建ASP.NET 3.5 MVC
项目 242
11.3.2 新建Web Form项目 243
11.3.3 在Web Form项目中添加
ASP.NET 3.5 MVC项目 243
11.4 读取Web Form页面数据 247
11.4.1 通过Post表单方式 247
11.4.2 通过Session对象 247
11.5 博客网站的迁移 248
11.5.1 项目结构 248
11.5.2 模型开发 249
11.5.3 控制器开发 250
11.5.4 视图开发 250
11.6 思考与提高 251
第12章 单元测试 253
12.1 单元测试概述 254
12.1.1 单元测试 254
12.1.2 Moq模拟框架 254
12.2 单元测试路由 256
12.2.1 创建测试帮助类 256
12.2.2 设置路由 269
12.2.3 路由的单元测试 269
12.2.4 设置个性化路由 272
12.2.5 个性化路由的单元测试 273
12.2.6 使用Moq简化单元测试 275
12.3 单元测试LINQ to SQL 281
12.3.1 创建“TestLINQ to SQL”
项目 281
12.3.2 创建接口
INorthWindDataContext 282
12.3.3 添加分部类
NorthWindDataContext 283
12.3.4 单元测试
NorthWindDataContext类 284
12.3.5 创建接口
ICategoryRepository 287
12.3.6 实现CategoryRepository类 288
12.3.7 单元测试
CategoryRepository类 289
12.4 单元测试控制器 291
12.4.1 AccountController类 292
12.4.2 AccountControllerTest类 293
12.5 添加其他单元测试框架 306
12.5.1 下载NUnit测试框架 306
12.5.2 下载Rhino Mocks模拟框架 308
12.5.3 复制相关文件 308
12.5.4 设置注册表 308
12.6 思考与提高 310
第13章 网站部署 311
13.1 ASP.NET请求处理过程 312
13.1.1 IIS 5.0中的ASP.NET
请求处理过程 312
13.1.2 IIS 6.0中的ASP.NET
请求处理过程 312
13.1.3 IIS 7.0中的ASP.NET
请求处理过程 313
13.1.4 ASP.NET 3.5 MVC项目在
不同版本IIS中的部署 314
13.2 在IIS 6.0中部署ASP.NET 3.5
MVC项目 314
13.2.1 使用.aspx应用程序扩展 315
13.2.2 使用.mvc应用程序扩展 316
13.2.3 配置通配符应用程序映射 318
13.2.4 合理配置通配符应用
程序映射 320
13.3 在IIS 7.0中部署ASP.NET 3.5
MVC项目 323
13.3.1 添加网站 323
13.3.2 启动、浏览网站 324
13.4 思考与提高 326
第2篇 架 构 篇
第14章 初识联系人管理网站 329
14.1 网站构建 330
14.1.1 安装项目文件 330
14.1.2 新建网站 331
14.2 页面功能分析 332
14.2.1 首页 333
14.2.2 添加或修改联系人页面 336
14.3 数据库设计 337
14.3.1 数据表 337
14.3.2 存储过程 339
14.4 思考与提高 340
第15章 联系人管理网站初探 341
15.1 二层架构概述 342
15.1.1 二层架构图 342
15.1.2 实现二层架构的Web应用 342
15.2 实现二层架构的联系人管理网站 343
15.2.1 联系人信息 343
15.2.2 地址信息 345
15.2.3 电子邮箱信息 349
15.2.4 电话号码信息 352
15.2.5 添加或修改联系人页面 356
15.3 思考与提高 375
第16章 联系人管理网站进阶 377
16.1 三层架构概述 378