我想将多个网址映射到1个操作,但我只想要1个路由。
例如。
routes.MapRoute(
"SingleUser_Long",
"Users/{username}",
new { controller = "Users", action = "SingleUser" });
routes.MapRoute(
"Users",
"{username}",
new { controller = "Users", action = "SingleUser" });
有没有办法让这些2合1?当我必须添加更多内容并且我保留复制/粘贴重复项时,它会变得乏味乏味,只是在网址前面添加“用户”。
答案 0 :(得分:1)
routes.MapRoute("SingleUser",
"{controller}/{username}",
new { controller = "Users", action = "SingleUser",
controller = UrlParameter.Optional },
new { controller = @"/(^\s*)|\bUsers\b"}
使用约束将“{controller}”限制为空或仅限“用户”。(不确定正则表达式是否正确)