我知道如何为 MVC 项目自定义控制器/视图模板。但是,我的项目中有几个不同的 MVC 3 区域,每个区域都有自己的模型、视图和控制器。有没有办法为每个区域指定不同的代码模板?我试图将 CodeTemplates 文件夹放在我的 Area 子文件夹之一中,但它不起作用。
这个想法是,当我右键单击区域中的任何控制器文件夹并选择添加 -> 控制器时,我希望它使用该区域控制器模板。
更新: 我很高兴能够选择我想要使用的控制器模板,但仍然想知道是否可以为不同的区域指定 CodeTemplates。
我知道如何为 MVC 项目自定义控制器/视图模板。但是,我的项目中有几个不同的 MVC 3 区域,每个区域都有自己的模型、视图和控制器。有没有办法为每个区域指定不同的代码模板?我试图将 CodeTemplates 文件夹放在我的 Area 子文件夹之一中,但它不起作用。
这个想法是,当我右键单击区域中的任何控制器文件夹并选择添加 -> 控制器时,我希望它使用该区域控制器模板。
更新: 我很高兴能够选择我想要使用的控制器模板,但仍然想知道是否可以为不同的区域指定 CodeTemplates。
看起来MVC 脚手架可能是我唯一的选择。当我开始工作时,我会展示具体的解决方案。
重读你的问题,我意识到我的答案可能不是你想要做的。您不希望视图中的自动生成代码使用不同的模板吗?还是您不希望页面看起来有所不同,例如css
更改等?我的回答适用于后者。如果您想使用不同的代码模板,似乎(根据this)只要您给它们不同的名称,您应该能够选择您不想使用的那个。您也可以只从项目中删除您不想要的那些,然后再将它们添加回来。
在要应用模板的文件夹中创建 2 个文件,一个命名_ViewStart.cshtml
,另一个_Layout.cshtml
在_ViewStart
文件中,添加以下内容:
@{
Layout = "~/Views/Reports/_Layout.cshtml";
}
这将指向_Layout
根据需要更改路径。在_Layout
文件中添加您想要的任何内容,就像Shared
目录中的布局一样。对于您想要使用此布局的任何其他文件夹,只需将_ViewStart
文件添加到该目录并将其指向_Layout
您想要的文件。