ASP.NET MVC 3

模型-视图-控制器 (MVC) 模式是一项将 Web 应用程序组件分开的体系结构设计原则。 通过分开组件,您可以更好地控制应用程序的单个部件,从而能够更加轻松地开发、修改和测试这些部件。

ASP.NET MVC 是 ASP.NET Framework 的一部分。 开发 ASP.NET MVC 应用程序是开发 ASP.NET Web 窗体页面的一种替代方法;但 ASP.NET MVC 应用程序未取代 Web 窗体模型。

您可以从 ASP.NET MVC 下载页获取最新版本的 ASP.NET MVC 框架。 有关这一 MVC 版本中的新增功能的信息,请参阅 ASP.NET 网站上的 ASP.NET MVC 3

备注

较早版本的 MVC 框架 (ASP.NET MVC 2) 仍然可以使用。如果您所使用的应用程序是专门针对这一 MVC 框架版本编写的,可以下载 ASP.NET MVC 2。

ASP.NET MVC 3 的内容映射

建议使用下面的系列文档来帮助您了解 ASP.NET MVC。 您可以从 MSDN 网站上的 ASP.NET MVC 3 Code Examples(ASP.NET MVC 3 代码示例)页下载完整的示例项目。

备注

由 ASP.NET MVC 专家编写的博客条目中提供了其他信息。有关更多信息,请参见本文档后面部分的关于 ASP.NET MVC 的博客条目。

方案

主题

ASP.NET MVC 入门

Intro to ASP.NET MVC 3(ASP.NET MVC 3 简介)

Introduction to ASP.NET MVC 3(ASP.NET MVC 3 简介)(Pluralsight 视频)

Getting Started with ASP.NET MVC(ASP.NET MVC 入门)

ASP.NET MVC 3 Overview(ASP.NET MVC 3 概述)

ASP.NET MVC 3 Roundup of Tutorials, Videos, Labs, and other Assorted Training Materials(ASP.NET MVC 3 教程、视频、实验和其他各类培训材料汇总)

Creating a MVC 3 Application with Razor and Unobtrusive JavaScript(使用 Razor 和非介入式 JavaScript 创建 MVC 3 应用程序)

ASP.NET MVC from Basics to Tips and Tricks(ASP.NET MVC 基础知识、提示和技巧)(Michael Johnson)

ASP.NET MVC 概述

MVC FAQ

Tips on getting your ASP.NET MVC questions answered quickly(有关如何快速获得 ASP.NET MVC 问题的答案的提示)(博客文章)

另请参见:本文档后面部分的关于 ASP.NET MVC 的博客条目。

使用实体框架

Intro to ASP.NET MVC 3(ASP.NET MVC 3 简介)

Creating an Entity Framework Data Model for an ASP.NET MVC Application(为 ASP.NET MVC 应用程序创建实体框架数据模型)

Round tripping a timestamp field with EF4.1 Code First and MVC 3(使用 EF4.1 Code First 和 MVC 3 往返时间戳字段)(Julie Lerman)

Handling Optimistic Concurrency Exceptions with EF and MVC 3(处理 EF 和 MVC 3 的开放式并发异常)(Rick Anderson)

Working with Data: Entity Framework(处理数据:实体框架)(Pluralsight)

Working with Data: Entity Framework(处理数据:验证和映射)(Pluralsight 视频)

国际化

支持非英语区域设置的 ASP.NET MVC 3 验证

ASP.NET MVC 3 Internationalization(ASP.NET MVC 3 国际化)(Nadeem)

了解模型、视图和控制器

ASP.NET MVC Controllers(ASP.NET MVC 控制器)(Pluralsight 视频)

ASP.NET MVC 应用程序中的控制器和操作方法

如何:在 ASP.NET MVC 中实现远程验证

ASP.NET MVC 应用程序中的视图和 UI 呈现

ASP.NET MVC 中的模型和验证

在 ASP.NET MVC 中使用异步控制器

ASP.NET MVC 中的筛选

了解 ASP.NET MVC 项目结构

MVC 框架和应用程序结构

了解 MVC 应用程序执行

演练:使用区域组织应用程序

了解 ASP.NET MVC 中的 URL 路由

ASP.NET Routing(ASP.NET 路由)

RouteDebugger 2.0 (Phil Haack)

ASP.NET MVC Framework: URL Routing(ASP.NET MVC Framework:URL 路由)(Scott Guthrie)

ASP.NET MVC Routing Overview(ASP.NET MVC 路由概述)

ASP.NET Routing and ASP.NET MVC(ASP.NET 路由和 ASP.NET MVC)(Craig Stuntz)

使用视图

ASP.NET MVC Razor Views(ASP.NET MVC Razor 视图)(Pluralsight 视频)

How data annotations for ASP.NET MVC validation work(ASP.NET MVC 数据批注验证方式)(Rachel Appel)

What is an ActionResult?(什么是 ActionResult?)(Rachel Appel)

Create User Friendly Date Fields with ASP.NET MVC EditorTemplates and jQueryUI(使用 ASP.NET MVC EditorTemplates 和 jQueryUI 创建用户友好数据字段)(Rachel Appel)

Dynamic V Strongly Typed Views(动态视图与强类型视图)(Rick Anderson)

Razor Layout(Razor 布局)(Justin Schwartzenberger)

使用 HTML 帮助器呈现窗体

演练:在 ASP.NET MVC 中使用模板化帮助器显示数据

通过调用多个操作创建 ASP.NET MVC 视图

Creating Custom HTML Helpers(创建自定义 HTML 帮助器)(ASP.NET 网站教程)

Creating Page Layouts with View Master Pages(使用视图母版页创建页面布局)(ASP.NET 网站视频)

另请参见:本文档后面部分的关于 ASP.NET MVC 的博客条目。

使用模型

演练:使用 MVC 视图模板

Creating an Entity Framework Data Model for an ASP.NET MVC Application(为 ASP.NET MVC 应用程序创建实体框架数据模型)

Input Validation vs. Model Validation in ASP.NET MVC(ASP.NET MVC 中的输入验证与模型验证)

如何:使用 DataAnnotations 特性验证模型数据

如何:在 ASP.NET MVC 中实现远程验证

另请参见:本文档后面部分的关于 ASP.NET MVC 的博客条目。

创建帮助器

Creating Custom HTML Helpers(创建自定义 HTML 帮助器)(ASP.NET 网站教程)

User Controls and HTML Helpers(用户控件与 HTML 帮助器)(Dino Esposito)

在 ASP.NET MVC 应用程序中使用 AJAX 和 jQuery

jQuery Templates with ASP.NET MVC(jQuery 模板与 ASP.NET MVC)(Hajan)

jQuery templates vs. MVC Partial Views(jQuery 模板与 MVC 分部视图)(Nadeem Afana)

Mocking the jQuery Ajax Call in ASP.NET MVC 3 Music Store(在 ASP.NET MVC 3 Music Store 中模拟 jQuery Ajax 调用)(Elijah Manor)

An early look at jQuery UI Grind in ASP.NET MVC – Data Model(ASP.NET MVC 中的 jQuery UI 优化预览 — 数据模型)(Tomasz Pęczek)

JavaScript and Ajax(JavaScript 和 Ajax)(Pluralsight 视频)

另请参见:本文档后面部分的关于 ASP.NET MVC 的博客条目。

筛选操作方法

ASP.NET MVC 中的筛选

Get to Know Action Filters in ASP.NET MVC 3 Using HandleError(使用 HandleError 了解 ASP.NET MVC 3 中的操作筛选器)

创建自定义操作筛选器

如何:创建自定义操作筛选器

Conditional Filters in ASP.NET MVC 3(ASP.NET MVC 3 中的条件筛选器)(Phil Haacked)

FluentFilters for ASP.NET MVC 3 - Register global filters by specified conditions(ASP.NET MVC 3 的 FluentFilter — 根据指定的条件注册全局筛选器)(Dmitry Antonenko)

保证 MVC 应用程序的安全

如何使用 ASP.NET MVC 创建 Intranet 站点

Preventing Security Development Errors: Lessons Learned at Windows Live by Using ASP.NET MVC(防止安全性开发错误:使用 ASP.NET MVC 开发 Windows Live 的经验)

Better, Faster, Easier SSL testing for ASP.NET MVC & WebForms(对 ASP.NET MVC 和 WebForm 进行更好、更快、更简单的 SSL 测试)(Rick Anderson)

ASP.NET MVC Ajax CSRF Protection With jQuery 1.5(使用 jQuery 1.5 保护 ASP.NET MVC Ajax CSRF)

Prevent Cross-Site Request Forgery (CSRF) using ASP.NET MVC’s AntiForgeryToken() helper(使用 ASP.NET MVC 的 AntiForgeryToken() 帮助器阻止跨站点请求伪造 (CSRF))

演练:在 ASP.NET MVC 中使用 Forms 身份验证

AuthorizeAttribute

Preventing JavaScript Injection (XSS) Attacks(防止 JavaScript 注入 (XSS) 攻击)(ASP.NET 网站教程)

Preventing Cross-Site Request Forgery (CSRF) attacks(防止跨站点请求伪造 (CSRF) 攻击)(ASP.NET 网站教程)

SQL Injection(SQL 注入)(SQL Server 2008 联机丛书)

How To: Protect From SQL Injection in ASP.NET(如何:在 ASP.NET 中防止 SQL 注入)(模式和实践)

另请参见:本文档后面部分的关于 ASP.NET MVC 的博客条目。

提高 ASP.NET MVC 应用程序性能

OutputCacheAttribute

ASP.NET MVC Performance Tips(ASP.NET MVC 性能提示)(Marcin Doboz)

Improving ASP.NET MVC Application Performance at MVCConf(MVCConf:提高 ASP.NET MVC 应用程序的性能)(Steve Smith)

Adding Dynamic Content to a Cached Page(向缓存页添加动态内容)(ASP.NET 网站教程)

测试 MVC 应用程序

演练:在 ASP.NET MVC 中使用 TDD

Building Testable ASP.NET MVC Applications(构建可测试的 ASP.NET MVC 应用程序)

Scaffolding Actions and Unit Tests with MvcScaffolding(使用 MvcScaffolding 进行基架操作和单元测试)

Dependency Injection with ASP MVC 3–Distilled and Simplified(ASP MVC 3 依赖关系注入 — 精选和简化)

Testing Routing and URL Generation in ASP.NET MVC(在 ASP.NET MVC 中测试路由和 URL 生成)

Unit Test Your Custom Routes(对自定义路由进行单元测试)

Testing Routes In ASP.NET MVC(在 ASP.NET MVC 中测试路由)

RouteEvaluator For Unit Testing Routes(用于单元测试路由的 RouteEvaluator)

Test your ASP.NET MVC or WebForms Application on IIS 7 in 30 seconds(30 秒内在 IIS 7 上测试 ASP.NET MVC 或 WebForms 应用程序)(Rick Anderson)

部署 MVC 应用程序

Using ASP.NET MVC with Different Versions of IIS(将 ASP.NET MVC 与不同版本的 IIS 配合使用)(ASP.NET 网站教程)

Bin deploy required dependencies for MVC 3 projects with Visual Studio 2010 SP1(在 Visual Studio 2010 SP1 中对 MVC 3 项目进行 Bin 部署所需的依赖项)(Justin Schwartzenberger)

Test your ASP.NET MVC or WebForms Application on IIS 7 in 30 seconds(30 秒内在 IIS 7 上测试 ASP.NET MVC 或 WebForms 应用程序)(Rick Anderson)

与 ASP.NET MVC 3 有关的博客文章

下面的博客文章提供其他有关如何使用 ASP.NET MVC 3 的信息。

关于 ASP.NET MVC 3 的视频

下面的视频提供其他有关如何使用 ASP.NET MVC 3 的信息。

  1. Introduction to ASP.NET MVC 3(ASP.NET MVC 3 简介)(Pluralsight 视频)

  2. ASP.NET MVC Controllers(ASP.NET MVC 控制器)(Pluralsight 视频)

  3. ASP.NET MVC Razor Views(ASP.NET MVC Razor 视图)(Pluralsight 视频)

  4. Working with Data: Entity Framework(处理数据:实体框架)(Pluralsight)

  5. Working with Data: Validation and Mapping(处理数据:验证和映射)(Pluralsight)

  6. JavaScript and Ajax(JavaScript 与 Ajax)(Pluralsight)

  7. Advanced MVC 3(高级 MVC 3)(Brad Wilson)

  8. ASP.NET MVC 3 Roundup of Tutorials, Videos, Labs, and other Assorted Training Materials(ASP.NET MVC 3 教程、视频、实验和其他各类培训材料汇总)(Jon Galloway)