《Web开发新体验 ASP.NET 3.5 MVC架构与实战》PDF下载

  • 购买积分:17 如何计算积分?
  • 作  者:龚赤兵编著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2009
  • ISBN:9787121092169
  • 页数:582 页
图书介绍:本书介绍了使用Visual Studio 2008进行ASP.NET 3.5 MVC开发的基础知识,通过多个实例重点说明了如何传递、解析表单数据,如何在控制器中设置模型数据,如何在视图中呈现模型数据等关键技术;详细说明了如何构建基于二层架构、三层架构及多层架构的联系人管理网站。深入讲解ASP.NET 3.5 MVC技术的详细开发流程,使得初学者能够轻松实现自己的ASP.NET 3.5 MVC博客网站。

第1篇 体验篇 3

第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()和RenderEndTag()方法 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篇 架构篇 329

第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

16.1.1 三层架构图 378

16.1.2 实现三层架构的Web应用 379

16.2 实现三层架构的联系人管理网站 379

16.2.1 构建业务对象 379

16.2.2 构建中间数据访问层 382

16.2.3 首页 397

16.2.4 添加或修改联系人页面 401

16.3 思考与提高 401

第17章 联系人管理网站高级实现 403

17.1 多层架构概述 404

17.1.1 多层架构图 404

17.1.2 实现多层架构的Web应用 405

17.2 实现多层架构的联系人管理网站 406

17.2.1 构建业务对象 406

17.2.2 构建数据访问层 406

17.2.3 构建业务逻辑层 408

17.2.4 各逻辑层间的相互关系 412

17.2.5 首页和添加或修改联系人页面 413

17.3 基于LINQ to SQL的多层架构 414

17.3.1 创建对象、关系映射 414

17.3.2 构建基于LINQ的数据访问层 416

17.3.3 实现表现层 429

17.4 思考与提高 430

第3篇 实战篇 433

第18章 博客网站初探 433

18.1 创建多项目的项目模板 434

18.2 创建博客网站 436

18.2.1 安装项目文件 436

18.2.2 新建博客网站 438

18.3 网站的总体结构 438

18.4 页面功能分析 439

18.4.1 首页 439

18.4.2 博客文章BlogArticles.aspx页面 441

18.4.3 按月显示博客随笔或文章BlogByMonth.aspx页面 441

18.4.4 分类显示博客随笔或文章BlogByTag.aspx页面 442

18.4.5 显示分类TagCloud.aspx页面 443

18.4.6 博客随笔或文章BlogEntry.aspx页面 443

18.4.7 博客管理页面 444

18.5 思考与提高 444

第19章 多层架构的博客网站 445

19.1 数据库设计 446

19.1.1 Blogo数据库设计 446

19.1.2 数据表blogentries 446

19.1.3 数据表authors 447

19.1.4 数据表tags 447

19.1.5 数据表blog_tags 447

19.1.6 数据表comments 448

19.1.7 数据表files 448

19.1.8 数据表logs 449

19.2 博客网站的多层架构 449

19.2.1 博客网站的架构设计 449

19.2.2 博客网站的项目目录 450

19.3 构建业务对象项目 451

19.3.1 Author类 451

19.3.2 BlogEntry类 452

19.3.3 Comment类 453

19.3.4 File类 454

19.3.5 Tag类 455

19.3.6 Log类 456

19.3.7 Month类 456

19.3.8 枚举Types 457

19.4 构建数据访问项目 457

19.4.1 创建对象、关系映射 458

19.4.2 实现数据访问层 459

19.5 构建业务逻辑项目 484

19.5.1 AuthorManager类 485

19.5.2 BlogEntryManager类 487

19.5.3 CommentManager类 489

19.5.4 FileManager类 490

19.5.5 LogManager类 492

19.5.6 TagManager类 493

19.6 思考与提高 494

第20章 博客网站页面总体设计 495

20.1 网站页面结构设计 496

20.2 设计母版页 497

20.2.1 设计Page.Master母版页 497

20.2.2 设计Page.Master母版页 500

20.2.3 设计Admin.Master母版页 504

20.3 思考与提高 506

第21章 博客网站页面 507

21.1 配置文件的读写 508

21.2 首页 510

21.3 博客文章BlogArticles.aspx页面 513

21.4 按月显示博客随笔或文章BlogByMonth.aspx页面 515

21.5 分类显示博客随笔或文章BlogByTag.aspx页面 518

21.6 显示分类TagCloud.aspx页面 520

21.7 博客随笔或文章BlogEntry.aspx页面 522

21.8 思考与提高 526

第22章 博客网站管理页面 527

22.1 在随笔或者文章内容中插入图片 528

22.2 管理随笔或文章 529

22.2.1 管理随笔或文章Index.aspx页面 529

22.2.2 修改随笔或文章AdminBlogEdit.aspx页面 531

22.2.3 添加随笔或文章AdminBlogCreate.aspx页面 535

22.3 管理评论 537

22.3.1 管理评论AdminComments.aspx页面 537

22.3.2 修改评论AdminComment Edit.aspx页面 538

22.4 管理分类 540

22.4.1 管理分类AdminTags.aspx页面 540

22.4.2 修改分类AdminTagEdit.aspx页面 541

22.4.3 添加分类AdminTagCreate.aspx页面 542

22.5 管理用户 543

22.5.1 管理用户AdminAuthors.aspx页面 543

22.5.2 修改用户AdminAuthorEdit.aspx页面 544

22.5.3 添加用户AdminAuthorCreate.aspx页面 545

22.6 管理文件 547

22.6.1 管理文件AdminFiles.aspx页面 547

22.6.2 浏览图片AdminFileShow.aspx页面 548

22.6.3 添加文件AdminFileCreate.aspx页面 549

22.7 管理日志 549

22.7.1 管理日志AdminLog.aspx页面 550

22.7.2 浏览日志AdminLogShow.aspx页面 551

22.8 管理基本信息 551

22.9 思考与提高 568

第23章 博客网站安全 569

23.1 成员管理提供程序 570

23.1.1 成员服务架构 570

23.1.2 成员API 571

23.1.3 登录控件 573

23.1.4 提供程序设计模式 574

23.2 个性化成员管理提供程序 574

23.3 个性化错误处理 579

23.4 思考与提高 582