0

我知道如何为 MVC 项目自定义控制器/视图模板。但是,我的项目中有几个不同的 MVC 3 区域,每个区域都有自己的模型、视图和控制器。有没有办法为每个区域指定不同的代码模板?我试图将 CodeTemplates 文件夹放在我的 Area 子文件夹之一中,但它不起作用。

这个想法是,当我右键单击区域中的任何控制器文件夹并选择添加 -> 控制器时,我希望它使用该区域控制器模板。

更新: 我很高兴能够选择我想要使用的控制器模板,但仍然想知道是否可以为不同的区域指定 CodeTemplates。

4

2 回答 2

1

看起来MVC 脚手架可能是我唯一的选择。当我开始工作时,我会展示具体的解决方案。

于 2012-08-20T20:59:43.750 回答
0

重读你的问题,我意识到我的答案可能不是你想要做的。您不希望视图中的自动生成代码使用不同的模板吗?还是您不希望页面看起来有所不同,例如css更改等?我的回答适用于后者。如果您想使用不同的代码模板,似乎(根据this)只要您给它们不同的名称,您应该能够选择您不想使用的那个。您也可以只从项目中删除您不想要的那些,然后再将它们添加回来。

在要应用模板的文件夹中创建 2 个文件,一个命名_ViewStart.cshtml,另一个_Layout.cshtml

_ViewStart文件中,添加以下内容:

@{
    Layout = "~/Views/Reports/_Layout.cshtml";
}

这将指向_Layout根据需要更改路径。在_Layout文件中添加您想要的任何内容,就像Shared目录中的布局一样。对于您想要使用此布局的任何其他文件夹,只需将_ViewStart文件添加到该目录并将其指向_Layout您想要的文件。

于 2012-08-17T06:21:07.390 回答