mvc重建强类型视图

时间:2010-11-13 10:32:08

标签: asp.net-mvc strongly-typed-view

当模型类添加了新字段时,有没有办法重新构建强类型视图?

目前我还没有修改初始生成的视图,因此删除和重新创建不是问题。

当我开始根据自己的喜好自定义它时,我将失去所有更改,我想知道是否有一个很好的方法来管理它?

由于

2 个答案:

答案 0 :(得分:5)

ASP.NET MVC提供两种类型的脚手架,每种脚手架都有自己的优势:

第一种脚手架是设计时脚手架,通过“添加视图”对话框和T4模板完成。这样做的好处是代码完全生成,您可以完全自定义它。缺点是,如果您更改模型,则必须重新生成视图(通过删除它并添加一个新视图)。

第二种脚手架是运行时脚手架,它通过视图中的Html.EditorFor()Html.DisplayFor()方法完成。这样做的好处是,如果您的模型发生更改,那么脚手架将在运行时自动生成。缺点是您无法直接自定义渲染。但是,可以使用DataAnnotations属性(如[DisplayText][UIHint]等)为此脚手架提供许多提示,因此它非常灵活 - 但它并不像灵活,因为能够100%自定义渲染。

要自定义运行时脚手架(编辑器模板和显示模板)的呈现,您可以在Brad Wilson's blog series上找到更多信息。

答案 1 :(得分:1)

您可以手动向视图添加代码以反映模型中的任何更改。 默认scafolding只是为了给你一些东西。

您可能想要看的一件事是使用wich mvc工具的t4模板生成您的默认视图。 google for it有一些示例,说明如何将这些内容复制到项目中并修改为让mvc生成您想要的视图而不是默认视图。