c# - ASP.NET MVC 自定义 Controller 目录

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

我正在制作一个 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 路由的路由在 ControllersFoo 子文件夹中查找它们的 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/

相关文章:

c# - 在 C# 中调用 C++ 库

C# OPENXML XLSX 自定义列宽

c# - 使用 Http Patch 上的对象列表的最佳方式

c# - Visual Studio 无法写入输出文件 '...\obj\Debug\Foo.Bar.dll"

c# - 串流阅读器问题

c# - 从 ASP.Net MVC 5 Identity 添加外键时出错?

c# - 如何编写像 Html.TextBoxFor 这样的自定义 ASP.NET MVC HTML Helper 并设置正确的名称属性

c# - 双引号替换为空,三重双引号替换为双引号

asp.net - 我可以将 JSON 字符串转换为 JsonResult 吗?

asp.net - 为什么我的 IHttpHandler 没有被调用?