MVC 路由:将多个/分隔项目定义为单个路由

本文关键字:路由 项目 定义 单个 分隔 MVC | 更新日期: 2023-09-27 18:34:04

请考虑以下 MVC 路由条目:

routes.MapRoute("Content", "content/{route}", new { controller = "Content", action = "ContentPage", route="" });

适用于:

www.domain.com/content/test
www.domain.com/content/blah

也适用于网址参数

www.domain.com/content/test?hello=1

不适用于:

www.domain.com/content/foo/bar
www.domain.com/one/two/three/four
  • 我怎样才能让我的路线接受/foo/bar 或/one/two/three/four 作为 {route}
  • 我怎样才能做到以上并保持读取网址的能力控制器的参数?

MVC 路由:将多个/分隔项目定义为单个路由

试试这个,

routes.MapRoute("Content", "content/{route1}/{route2}", new { controller = "Content", action = "ContentPage", route1 = UrlParameter.Optional, route2 = UrlParameter.Optional });

注: 根据需要添加最大数量的可选参数。