ASP.NET MVC通配符控制器任何参数路由
本文关键字:任何 参数 路由 控制器 通配符 NET MVC ASP | 更新日期: 2023-09-27 18:23:50
我想要控制器/操作,这样当我导航到:时
mysite.com/whatever. i type here will pipe into...a ! string.
public ActionResult Index(string anything)
{
// anything = whatever. i type here will pipe into...a ! string.
return View();
}
我需要设置自定义路线吗?
我试过这个,但它似乎不适合经期等。
routes.MapRoute(
name: "Default",
url: "{*anything}",
defaults: new { controller = "Home", action = "Index" }
);
如果您使用catch-all正则表达式约束您的路线:
routes.MapRoute(
"Default",
"{*anything}",
new { controller = "Home", action = "Index" },
new { anything = @"^(.*)?$" }
);
并确保您在web.config中设置了UrlRoutingModule,并且没有任何先决条件来确保即使是非托管请求(例如那些被视为具有扩展名的请求)也能通过路由模块,您的catchall路由也能正常工作。