我正在构建一个站点,我只想拥有一个控制器,并且 url 看起来像:
\main-page\sub-page
main-page
不是控制器,也不sub-page
是动作,它们只是数据库中页面的名称,我想即时渲染。换句话说,有很多页面,我不想为每个页面制作一个控制器。事实上,我只想要一个Home
控制器,其中一个Index
动作如下所示:
Function Index(ByVal Page As String, ByVal SubPage As String) As ActionResult
并且只有一个视图,它使用参数来动态加载页面内容。
以下路线几乎可行:
routes.MapRoute(
"Default", _
"{page}/{subpage}", _
New With {.controller = "Home", .action = "Index", .page = "Landing", .subpage = "Index"}
)
但问题是它也会接收对文件的请求,例如/images/somefile.jpg
,因为这与路由匹配。
所以问题是:我怎样才能做到这一点而不会错误地获取图像请求,或者是否有完全不同的方式来支持我正在尝试做的事情?