我正在制作一个 ASP.NET MVC 网站,并且我有一组相关的表单(我们称它们为 Foo)。我第一次组织它们的尝试是采用这种结构:
Controllers/FooController.cs
...并拥有这样的路线:
Foo/{type}/{action}/{id}
不幸的是,由于大约有 8 个 Foo 子类型,FooController
变得相当大并且包含它自己的子路由信息。我的下一次尝试是采用这种结构:
Controllers/Foo/Form1Controller.cs
Controllers/Foo/Form2Controller.cs
Controllers/Foo/Form3Controller.cs
...
每个表单都有一个 Controller ,这对我来说更有意义,因为这基本上是我在应用程序中用于其他表单的布局。
不幸的是,我似乎找不到任何简单的方法来制作路线:
Foo/{controller}/{action}/{id}
...映射到:
Controllers/Foo/{controller}Controller.cs
基本上我想做的是告诉 ASP.NET MVC 我希望所有匹配 Foo 路由的路由在 Controllers
的 Foo
子文件夹中查找它们的 Controller .有什么简单的方法可以通过路由来做到这一点,还是我需要编写自己的 IControllerFactory
?
谢谢。
最佳答案
我最终使用了此处讨论的解决方案的变体:
http://haacked.com/archive/2008/11/04/areas-in-aspnetmvc.aspx
关于c# - ASP.NET MVC 自定义 Controller 目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1127753/