MVC 重建强类型视图

3

如果模型类有新字段添加,有没有重新构建强类型视图的方法?

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

当我开始按照自己的喜好进行定制时,我会失去所有更改,我想知道是否有一个好的方法来管理这个问题?

谢谢


1
我不确定我是否理解您的意思。当您更新模型时,只需更新视图以使用任何新字段/属性即可。您的视图不会绑定到特定版本的模型。 - Phil
2个回答

5
ASP.NET MVC提供两种类型的脚手架,每种都有自己的优势:
第一种是设计时脚手架,通过“添加视图”对话框和T4模板完成。其优点是代码完全生成,可以完全自定义。缺点是如果更改模型,则必须重新生成视图(通过删除并添加一个新视图)。
第二种是运行时脚手架,在视图中通过Html.EditorFor()Html.DisplayFor()方法完成。其优点是如果您的模型更改,则脚手架将在运行时自动生成。缺点是无法直接自定义渲染。但是,您可以使用DataAnnotations属性(例如[DisplayText][UIHint]等)为此脚手架提供许多提示,因此它非常灵活 - 但不像能够100%自定义渲染那样灵活。

要自定义运行时脚手架(编辑模板和显示模板)的呈现方式,您可以在Brad Wilson的博客系列上找到更多信息。


当你说重新生成视图时,你是指删除文件并重新创建它,还是有其他重新生成的方法?谢谢。 - foz1284
@foz 我的意思是删除并重新创建。我更新了我的答案以反映这一点。 - Eilon
1
你也可以为运行时脚手架创建模板!这里有关于它的教程:http://bradwilson.typepad.com/blog/2009/10/aspnet-mvc-2-templates-part-1-introduction.html - Alxandr
@alx 是的,谢谢你提醒我!我本来想放布拉德博客的链接,结果忘了 :) 我已经更新了我的回答并加上了链接。 - Eilon

1

你可以手动向视图中添加代码,以反映模型中的任何更改。

默认脚手架只是为了给你一个起点。

你可能想要查看的一件事是 t4 模板,使用这些模板,MVC 工具会生成默认视图。在谷歌上搜索一下,有一些示例可以让你将这些模板复制到你的项目中,并进行修改,使得 MVC 生成你想要的视图而不是默认的。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接