当模型类添加了新字段时,有没有办法重新构建强类型视图?
目前我还没有修改初始生成的视图,因此删除和重新创建不是问题。
当我开始根据自己的喜好自定义它时,我将失去所有更改,我想知道是否有一个很好的方法来管理它?
由于
答案 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生成您想要的视图而不是默认视图。