我们正在构建一个代码非常少的网站,它主要只是提供一堆静态页面。我知道随着时间的推移会发生变化,我们会想要交换更多的动态信息,所以我决定继续使用 ASP.NET MVC2 和 Spark 视图引擎构建一个 Web 应用程序。将有几个控制器必须进行实际工作(例如在 /products 区域中),但其中大部分将是静态的。
我希望我的设计师能够构建和修改站点,而不必在每次他们决定添加或移动页面时都要求我编写新的控制器或路由。因此,如果他想添加一个“ http://example.com/News ”页面,他可以在 Views 下创建一个“News”文件夹并在其中放置一个 index.spark 页面。稍后,如果他决定想要一个 /News/Community 页面,他可以将 community.spark 文件放到该文件夹中并让它工作。
我可以通过让我的控制器覆盖 HandleUnknownAction 来获得没有特定操作的视图,但我仍然必须为每个文件夹创建一个控制器。每次他们决定向站点添加区域时都必须添加一个空控制器并重新编译,这似乎很愚蠢。
有没有办法让这更容易,所以我只需要编写一个控制器并在需要完成实际逻辑时重新编译?某种“主”控制器将处理没有定义特定控制器的任何请求?