Asp.net mvc ASP.NET MVC路由到操作
在ASP.NET MVC中执行路由时,我很难实现我想要实现的目标。 我想做的是:Asp.net mvc ASP.NET MVC路由到操作,asp.net-mvc,asp.net-mvc-4,url-redirection,redirect,Asp.net Mvc,Asp.net Mvc 4,Url Redirection,Redirect,在ASP.NET MVC中执行路由时,我很难实现我想要实现的目标。 我想做的是: 键入http://localhost/MyWebsite/,我想重定向到http://localhost/MyWebsite/Login/(此处暗示重定向到操作索引) 键入http://localhost/MyWebsite/MyAction,我想重定向到http://localhost/MyWebsite/Login/MyAction 使用文件RouteConfig.cs中的以下行实现了第1点: routes.M
http://localhost/MyWebsite/
,我想重定向到http://localhost/MyWebsite/Login/
(此处暗示重定向到操作索引
)http://localhost/MyWebsite/MyAction
,我想重定向到http://localhost/MyWebsite/Login/MyAction
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Login", action = "Index", id = UrlParameter.Optional });
但我无法完成第二点。请注意,用户并非来自控制器中的其他操作,而是在其浏览器中实际键入地址
谢谢您的帮助。由于
/MyWebsite/Login
和/MyWebsite/MyAction
在URL中都有两个段,它们都与您定义的路线相匹配
您可以使用路由约束仅将/MyWebsite/Login
匹配到第一个点,然后是修改的第二个路由映射:
routes.MapRoute(
name: "Default",
url: "MyWebsite/Login/",
defaults: new { controller = "Login", action = "Index", id = UrlParameter.Optional });
routes.MapRoute(
name: "Actions",
url: "MyWebsite/{action}/",
defaults: new { controller = "Login", action = "Index", id = UrlParameter.Optional });