2012-08-17 53 views
0

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

的想法是,当我在一区域的任何控制器文件夹,右键单击并选择添加 - >控制器,我想它使用区域控制器模板。

UPDATE: 我会很乐意与能够select the controller template I want to use,但仍然不知道是否可以指定不同的区域CodeTemplates。

回答

1

看起来像MVC Scaffolding可能是我唯一的选择。当我得到它的工作时,我会展示具体的解决方案。

0

重新读你的问题,我意识到我的答案可能不是你想要做的。你不想在视图中自动生成的代码使用不同的模板?还是你不想让页面看起来不一样,比如css更改等?我的答案适用于后者。如果你想使用不同的代码模板,看起来像(根据this),只要你给他们不同的名字,你应该能够选择你不想使用的名称。你也可以从项目中删除你不想要的,然后再添加它们。

创建2个文件所需的模板被应用到该文件夹​​中,一个名为_ViewStart.cshtml和其他_Layout.cshtml

_ViewStart文件,补充一点:

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

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

+0

我已更新我的问题,使其更清楚。 – Justin 2012-08-17 15:16:55

+0

@Justin抱歉,我没有帮助,你见过这样的:http://www.olegsych.com/2008/03/how-to-generate-multiple-outputs-from-single-t4-template/它不是”你在找什么,但可能会帮助你。 (我只是剔除它) – 2012-08-17 16:09:31