在Asp.NET MVC中对控制器进行分组?

时间:2009-02-24 18:39:39

标签: c# asp.net asp.net-mvc

我想在Asp.Net MVC应用程序的controllers文件夹中创建一个子文件夹。但是,当我这样做并尝试导航到页面时,无法找到控制器。

这是一个具体的例子。 目前我有:

Controlers/UserAdminControler.cs
Controlers/PageAdminControler.cs
Controlers/MenuAdminControler.cs
Controlers/SomeOtherControler.cs
...

我想像这样组织它:

Controlers/Admin/UserAdminControler.cs
Controlers/Admin/PageAdminControler.cs
Controlers/Admin/MenuAdminControler.cs
Controlers/SomeOtherControler.cs
...

我找到了创建“区域”的方法。这是一个非常好的想法和文章,但这不是我正在寻找我的网站: http://haacked.com/archive/2008/11/04/areas-in-aspnetmvc.aspx

我还发现你可以在Views目录中创建子文件夹(当你返回View()时,只需提供路径作为参数)。我现在需要的是弄清楚如何在控制器目录中添加子文件夹。

2 个答案:

答案 0 :(得分:2)

我刚尝试过,没有任何问题。我在Controllers direcotry中添加了一个子文件夹,并将其命名为“SubFolder”。在那里我添加了一个名为“SubController”的控制器。然后我在视图中添加了一个名为Sub的文件夹,并添加了一个名为Index的视图。然后我运行了应用程序并导航到:

http://localhost:2922/Sub/Index

没有问题。也许我误解了你的问题,但在控制器文件夹中添加子文件夹似乎没有问题。

答案 1 :(得分:1)

看一下S#arp架构。比利已经在区域概念中崭露头角。您可以在此处找到相关信息:http://code.google.com/p/sharp-architecture/。您也可以在那里找到谷歌小组的信息。它非常活跃,非常支持。