更改模型后重新搭建视图

18

我正在使用Visual Studio 2013和ASP.Net MVC 5。我已经为我的模型创建了一堆视图,然后又对它们进行了更改。我想在一些模型上运行脚手架并自动创建一些视图,然后再更改自动生成的视图。是否有其他方法,而不是重新命名某些文件或创建另一个解决方案并复制内容?

我使用Visual Studio 2013和ASP.Net MVC 5,为我的模型创建了多个视图并对其进行了更改。我想在某些模型上运行脚手架,自动生成视图,然后更改这些自动生成的视图。是否有其他方法可以实现此目的,而无需重命名文件或创建新的解决方案并复制内容?
3个回答

34

是的,你可以通过再次使用相同的模型类和控制器名称重新创建相同的模型来重新构建。您现有的控制器和视图将被替换。

详细信息: 右键单击项目或控制器文件夹,

添加...新的脚手架项,

MVC 5 控制器,使用 Entity Framework 的视图,

添加,

选择您的模型和数据类,

并确保您的控制器名称与要替换的名称相同。


只是想补充一下,您还可以使用 添加-> 控制器 然后选择相同的MVC控制器,使用Entity选项来添加Views。 - Samwise Ganges

7
我使用版本控制 - GIT 来快速、安全地完成此操作。我使用 Git 扩展 (http://code.google.com/p/gitextensions/) 作为 git 的用户界面。
在重新生成代码之前,先提交你的代码。然后重新生成视图,进入暂存区(Git 扩展中的提交按钮)。它会显示重新生成所做的所有更改,并将新的和已删除的代码行着色。从这里,你可以只暂存在控制器中更改的选择性新行。在暂存选定行之后,重置未暂存的其他更改。
这样你就得到了一个修改后的代码,其中包含新的重新生成部分。进行必要的编辑和测试,然后提交即可。

虽然这是一个非常好的技巧,但我正在寻找一些内置功能或专门用于此目的的工具。如果没有,我将接受这个答案。 - Alireza Noori
3
这是否意味着开发人员无法重新搭建他们的视图?这恰好是我最希望能够做到的第一件事情。 - nu everest
对于其他人@nueverest,您可以通过替换来重新搭建。但是,如果您正在更改默认模板,则必须重新应用这些更改。我认为nueverest希望的是修改脚手架的能力,而不是完全覆盖现有内容。如果其他人有更多信息,请分享。 - Sigex

3

这是对一个旧问题的新答案。它与现有的答案有些相似,但我认为足够不同而且易于理解。

1)将现有的项目/解决方案保存到版本控制中以作为良好的实践。

2)重新搭建时,使用一个不同的控制器名称来创建一个控制器类及其5个相关视图,但它不会覆盖任何已经存在的东西,从而保留所有您现有的工作。

3)从重新搭建的控制器中提取适当的方法。当模型更改时,create/edit绑定可能会发生变化,因此要捕捉这些。然后删除重新搭建的控制器。

4)这样就可以将视图保留在原地,以复制并粘贴适用于任何新的或重新定义的模型属性的适当UI代码。一旦复制了所需的所有代码,只需简单地删除重新搭建的视图即可。

这是一个很好的问题,因为我们经常需要更改模型,而自动创建所有基本的UI内容非常方便。


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