【问题标题】:mvc rebuild strongly typed viewmvc 重建强类型视图
【发布时间】:2010-11-13 10:32:07
【问题描述】:

当模型类添加了新字段时,有什么方法可以重新构建强类型视图?

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

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

谢谢

【问题讨论】:

  • 不确定我是否在关注你。更新模型时,您只需更新视图以使用任何新字段/属性。您的视图与模型的任何特定版本无关。

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


【解决方案1】:

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

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

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

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

【讨论】:

  • 当您说重新生成您的视图时,您的意思是删除文件并重新创建它还是有另一种方式重新生成?干杯
  • @foz 我的意思是删除并重新创建。我更新了我的答案以反映这一点。
  • 您也可以为运行时支架制作模板!教程在这里:bradwilson.typepad.com/blog/2009/10/…
  • @alx 是的,谢谢你的提醒!我打算添加一个指向 Brad 博客的链接,然后我忘记了 :) 我用链接更新了我的答案。
【解决方案2】:

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

您可能想要查看的一件事是使用 wich mvc 工具生成默认视图的 t4 模板。 google 有一些示例,说明如何将它们复制到项目中并进行修改以使 mvc 生成所需的视图而不是默认视图。

【讨论】:

    猜你喜欢
    • 2013-04-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多