我有以下路线:
routes.MapRoute(
name: "Default",
url: "home/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
这样可以正常工作并指向用户输入/ home
的主控制器索引操作如果用户输入以下内容,我是否可以直接将其指向“索引”操作:
/ home / xxx或 /家庭/ XXX / XXX
xxx可以是什么?
答案 0 :(得分:3)
当然,只需从路线定义中删除{action}
部分,以便操作始终为Index
:
routes.MapRoute(
name: "Default",
url: "home/{anything}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
答案 1 :(得分:1)
如果您从网址中删除{action}并将其保留为默认值,那么它应该可以正常工作。
routes.MapRoute(
name: "Default",
url: "home/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
在此方案中,操作始终为索引......
答案 2 :(得分:0)
尝试这样做以捕捉每条可能的路线:
routes.MapRoute(
"Default",
"home/{*url}",
new { controller = "Home", action = "Index", id = UrlParameter.Optional } }
);