asp.net

位置:IT落伍者 >> asp.net >> 浏览文章

ASP.NET MVC框架Beta版技术细节


发布日期:2019年12月15日
 
ASP.NET MVC框架Beta版技术细节

ASPNET MVC Beta版可用于NET NET SP同时支持VS 和 Visual Web Developer Express SP版本(该版本是免费的现在还支持类库和web应用项目类型)

今天的ASPNET MVC Beta版本带有一个明确的上线(golive)许可允许你将其部署于生产环境中以前的预览版本也允许上线部署但其做法只是没有拒绝部署的许可而不是明确地允准许可(此乃很容易混淆之处)今天的版本在这一点上在许可中说得很清楚

该beta版本的特性已经非常接近于正式版V的完整特性虽然还会在最终的V版发布之前加入若干个特性(包括几个VS工具增强等)但开发团队决定将这个版本称为beta版本是因为其品质和测试要比以前的预览版本高(其中包含了许多缺陷修补和性能调校方面的工作)他们感觉其中的核心功能现在已经烧制得足够好从这个版本到最终版不会有重大变动了

对该版本中一些新的特性和与早先的第五个预览版之间的变动的简短概述

Visual Studio中新的添加视图菜单项

新的 \Scripts目录和jQuery支持

对复杂类型的内置模型绑定器支持

重构的模型绑定器设施

强类型的UpdateModel和TryUpdateModel白名单过滤

改进的UpdateModel和TryUpdateModel场景的单元测试

强类型的[AcceptVerbs]特性

更好的验证错误信息

HTML辅助方法的清理和重构

Silverlight / ASPNET MVC 项目集成

ASPNET MVC Futures 程序集

\Bin 和 GAC 程序集部署

我还计划在将来的几个星期内发表几个全程(endtoend)教程给尚未研究过ASPNET MVC的人以及想从头学起想知道如何起步的人更深入地解释ASPNET MVC的概念

Visual Studio中新的添加视图菜单项

在以前的ASPNET MVC预览版中你需要通过VS中的项目>添加新项对话框手工地添加视图创建好一切然后将它们连接起来要求若干个手工步骤(确认目录/文件结构是对的进入后台文件指定强类型的ViewData模型类型等等)

今天的beta版本简化了这些步骤你现在只要在源码编辑器中将光标移进一个Controller action方法之内然后右击选择新的添加视图(Add View)上下文菜单项(或者你也可以键入CtrlM CtrlV快捷键组合来启动手不必离开键盘)

这会调出一个新的添加视图对话框允许你指定你想要创建的视图名称其母版页以及可选地它的强类型ViewData模型类型

Visual Studio会根据你的光标所在的action方法自动地填充视图名称(然后你想要的话也可以改动)例如如果在选择添加视图我们的光标是在Edit action方法中的话它会在视图名称对话框中填Edit而不是Browse

视图的强类型ViewData模型可从可编辑的ComboBox中选择该ComboBox列出了MVC项目中所有的类(或者引用的类)

然后你可以从列表中选一类型或在ComboBox中手工输入一个类型或者你也可以先从列表中挑一初始类型然后做些改动例如我们可以从列表中选择Product然后使用ComboBox的编辑支持将其改成IEnumerable<product>意即一个产品序列

在点击添加按钮后Visual Studio会自动地生成合适的视图目录结构往我们的项目中加一个适当名称和基类的强类型视图例如我按上面的步骤做的话它会为我生成一个新的\Views\Products目录(因为我的控制器类名是ProductsController)在其中加一个强类型的Browseaspx视图

(该视图从ViewPage<ienumerable

>继承而来因为这是我们在上面对话框中指定的模型类型)

新生成的视图会在IDE中自动打开然后我们可以使用完整的intellisense实现视图(小技巧确认在创建视图后立刻编译一下以确保你的强类型模型会在intellisense中出现)

在运行时我们就能得到一个用ASPNET MVC建造的SEO优化的产品浏览网页

在这个beta版本中通过添加视图生成的视图文件是空白的在最终版中我们希望在添加视图对话框中加一些scaffolding(脚手架)功能

允许你指定你想要根据添加视图对话框中指定的强类型模型来自动生成HTML列表/细节视图或者编辑/插入表单(然后你可以从这起始的html视图开始改成你想要的东西)在将来我们还将把ASPNET动态数据与MVC集成来支持更丰富的scaffolding选项

               

上一篇:在Azure云中部署支持MVC的ASP.NET程序

下一篇:ASP.NET小技巧---使用样式