2011年12月30日星期五

ASP.NET MVC 3 Tools Update介绍

前言

ASP.NET MVC 是一个框架,可使用模型-视图-控制器 (MVC) 模式来开发 Web 应用程序。

安装说明

ASP.NET MVC 3 Tools Update 可以与 ASP.NET MVC 2 Tools for Visual Studio 2010 一起安装并且二者可以并行运行。如果您已经安装了 ASP.NET MVC 3 RTM,则可以运行 ASP.NET MVC 3 Tools Update 安装程序进行升级。不必卸载现有的 ASP.NET MVC 3 安装。

帮助文档

ASP.NET MVC 的文档可以在位于以下 URL 的 MSDN 网站上找到:

http://go.microsoft.com/fwlink/?LinkId=205717

在狼奔代码生成器中,使用到MVC的框架,你可以访问:

www.langben.com

ASP.NET MVC 3 Tools Update 中的改进

本节介绍了自 ASP.NET MVC 3 RTM 发行以来 ASP.NET MVC 3 Tools Update 版本中所做的更改。

  1. "添加控制器"对话框现在可以使用视图和数据访问代码创建控制器的基架

创建基架是一种为应用程序快速生成控制器和视图的方法。生成代码后,您可对其进行编辑以满足您项目的要求。

若要在 ASP.NET MVC 3 中启动"添加控制器"对话框,请右击"解决方案资源管理器"中的"控制器"文件夹,单击"添加",然后单击"控制器"。该对话框已进行了增强,提供了其他创建基架选项。

默认情况下提供了三个可用的创建基架模板。

  1. 空控制器

此模板将生成一个空的控制器文件。此模板等效于在 ASP.NET MVC 的以前版本中不选中"为'创建'、'编辑'、'详细信息'和'删除'方案添加操作方法"。如果选中此选项,则没有进一步可用的选项。

  1. 包含空的读/写操作的控制器

此模板将生成一个控制器文件,其中包含所有必需的操作方法,但这些方法中没有实现代码。此模板等效于在 ASP.NET MVC 的以前版本中选中"为'创建'、'编辑'、'详细信息'和'删除'方案添加操作方法"。如果选中此选项,则没有进一步可用的选项。

  1. 包含读/写操作和视图的控制器(使用 Entity Framework)

此模板使您能够快速创建一个可用的数据输入用户界面。它将生成可处理各种常见要求和方案的代码,如下所示:

数据访问。生成的代码将读写数据库中的实体。如果您选择一个现有的数据上下文类,或者让模板生成一个新的 DbContext 类,则它会使用"Entity Framework 代码优先"方法。如果您选择一个现有的 ObjectContext 类,则它还会使用"Entity Framework 数据库优先"或"模型优先"方法。

验证。生成的代码将使用 ASP.NET MVC 模型绑定和元数据功能,以便根据在模型类上声明的规则来验证窗体提交。这包括内置验证规则,例如,RequiredStringLength 属性以及自定义验证规则。

一对多关系。如果您定义模型类之间的一对多外键关系,则生成的代码将生成用于选择相关实体的下拉列表。例如,您可能会定义下面的后跟"Entity Framework 代码优先"约定的模型类:

public class Product

{

public int ProductId { get; set; }

[Required]

public string Name { get; set; }

 

// Product belongs to Category

public int CategoryId { get; set; }

public virtual Category Category { get; set; }

}

 

public class Category

{

public int CategoryId { get; set; }

[Required]

public string Name { get; set; }

}

当您随后为 Product 类创建控制器基架时,其视图将允许用户为每个 Product 实例选择一个 Category 对象。

此模板在"添加控制器"对话框中提供了附加选项。对于"模型类",您可在解决方案中选择任意模型类,这将确定用户将能够创建或编辑的数据类型:

如果您想要使用"Entity Framework 代码优先",则可选择任意模型类。

如果您使用的是"Entity Framework 数据库优先"或"Entity Framework 模型优先",则一定要选择在您的概念模型中定义的实体类。

对于"数据上下文类",您可以进行以下选择:

如果您想要使用"代码优先"并且没有任何现有数据上下文类,则选择"<新建数据上下文…>"。然后,将为您生成一个数据上下文类。

如果您想要使用"代码优先",并且具有一个现有的数据上下文类,则在此处选择该类。将对它进行更新,以持久保存您已选择的模型类。

如果您使用的是"数据库优先"或"模型优先",则在此处选择您的对象上下文类。

对于"视图",请选择您想要使用的视图引擎;或者,如果您不想创建任何视图基架,则选择"无"

您可选择"高级选项",以便为生成的视图指定进一步的选项。例如,您可选择要使用的布局或母版页。

  1. "ASP.NET MVC 3 新建项目"对话框的改进

您用来创建新的 ASP.NET MVC 3 项目的对话框包含多处改进,如下所示。

  1. 新的"Intranet 项目"模板

"项目模板"列表包含一个新的"Intranet 应用程序"模板。此模板包含用于使用 Windows 身份验证而不是 Forms 身份验证构建 Web 应用程序的设置。因为 Intranet 应用程序需要一些无法在项目模板中封装的 IIS 设置,所以该模板包含一个自述文件来说明如何使项目模板在 IIS 中工作。新的"Intranet 应用程序"模板的文档可在位于以下 URL 的 MSDN 网站上找到:

http://msdn.microsoft.com/en-us/library/gg703322(VS.98).aspx

  1. 项目模板现在支持 HTML5

新项目对话框现在包含用于向项目模板中添加 HTML5 特定功能的选项。选择该选项可以生成包含新的 HTML5 <header><footer><navigation> 元素的视图。

请注意,浏览器的早期版本不支持 HTML5 特定的标记。为了解决此限制,HTML5 项目模板包含对 Modernizr 库的引用。

项目模板现在包含 Modernizr 1.7

Modernizr 是一个 JavaScript 库,可以使得在尚未支持 CSS 3 和 HTML5 的浏览器中支持这些功能。这个库是作为 ASP.NET MVC 3 项目的模板中预安装的 NuGet 包进行包含的。有关 Modernizr 的详细信息,请访问 http://www.modernizr.com/。

 

  1. 项目模板现在包含 ADO.NET Entity Framework 4.1

ADO.NET Entity Framework 4.1 包含"代码优先"功能。"代码优先"是 ADO.NET Entity Framework 的一种新的开发模式,可作为现有的"数据库优先"和"模型优先"模式的替代方案。

"代码优先"侧重于使用通过 Visual Basic 或 C# 编写的 POCO 类("纯旧 CLR 对象")定义您的模型。然后,可将这些类映射到现有数据库,或者用于生成数据库架构。可使用 DataAnnotations 属性或使用 Fluent API 提供其他配置。

总结

我们刚看到了ASP.NET MVC 3 Tools Update的新特性,是不是你也想试试了啊,更多信息,你可以访问www.langben.com


ASP.NET MVC 3 Tools Update介绍

TAG: