前言
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 版本中所做的更改。
- "添加控制器"对话框现在可以使用视图和数据访问代码创建控制器的基架
创建基架是一种为应用程序快速生成控制器和视图的方法。生成代码后,您可对其进行编辑以满足您项目的要求。
若要在 ASP.NET MVC 3 中启动"添加控制器"对话框,请右击"解决方案资源管理器"中的"控制器"文件夹,单击"添加",然后单击"控制器"。该对话框已进行了增强,提供了其他创建基架选项。
默认情况下提供了三个可用的创建基架模板。
- 空控制器
此模板将生成一个空的控制器文件。此模板等效于在 ASP.NET MVC 的以前版本中不选中"为'创建'、'编辑'、'详细信息'和'删除'方案添加操作方法"。如果选中此选项,则没有进一步可用的选项。
- 包含空的读/写操作的控制器
此模板将生成一个控制器文件,其中包含所有必需的操作方法,但这些方法中没有实现代码。此模板等效于在 ASP.NET MVC 的以前版本中选中"为'创建'、'编辑'、'详细信息'和'删除'方案添加操作方法"。如果选中此选项,则没有进一步可用的选项。
- 包含读/写操作和视图的控制器(使用 Entity Framework)
此模板使您能够快速创建一个可用的数据输入用户界面。它将生成可处理各种常见要求和方案的代码,如下所示:
数据访问。生成的代码将读写数据库中的实体。如果您选择一个现有的数据上下文类,或者让模板生成一个新的 DbContext 类,则它会使用"Entity Framework 代码优先"方法。如果您选择一个现有的 ObjectContext 类,则它还会使用"Entity Framework 数据库优先"或"模型优先"方法。
验证。生成的代码将使用 ASP.NET MVC 模型绑定和元数据功能,以便根据在模型类上声明的规则来验证窗体提交。这包括内置验证规则,例如,Required 和 StringLength 属性以及自定义验证规则。
一对多关系。如果您定义模型类之间的一对多外键关系,则生成的代码将生成用于选择相关实体的下拉列表。例如,您可能会定义下面的后跟"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 模型优先",则一定要选择在您的概念模型中定义的实体类。
对于"数据上下文类",您可以进行以下选择:
如果您想要使用"代码优先"并且没有任何现有数据上下文类,则选择"<新建数据上下文…>"。然后,将为您生成一个数据上下文类。
如果您想要使用"代码优先",并且具有一个现有的数据上下文类,则在此处选择该类。将对它进行更新,以持久保存您已选择的模型类。
如果您使用的是"数据库优先"或"模型优先",则在此处选择您的对象上下文类。
对于"视图",请选择您想要使用的视图引擎;或者,如果您不想创建任何视图基架,则选择"无"。
您可选择"高级选项",以便为生成的视图指定进一步的选项。例如,您可选择要使用的布局或母版页。
- "ASP.NET MVC 3 新建项目"对话框的改进
您用来创建新的 ASP.NET MVC 3 项目的对话框包含多处改进,如下所示。
- 新的"Intranet 项目"模板
"项目模板"列表包含一个新的"Intranet 应用程序"模板。此模板包含用于使用 Windows 身份验证而不是 Forms 身份验证构建 Web 应用程序的设置。因为 Intranet 应用程序需要一些无法在项目模板中封装的 IIS 设置,所以该模板包含一个自述文件来说明如何使项目模板在 IIS 中工作。新的"Intranet 应用程序"模板的文档可在位于以下 URL 的 MSDN 网站上找到:
http://msdn.microsoft.com/en-us/library/gg703322(VS.98).aspx
- 项目模板现在支持 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/。
- 项目模板现在包含 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: