fre*_*ed_ 0 c# asp.net-mvc routes asp.net-mvc-3
我想尝试这样的路线:
http://mysite.com/portfolio/landscape
http://mysite.com/portfolio/friends等...
所以我写道:
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"DefaultIndex", // Route name
"{controller}/{id}", // URL with parameters
new { action = "Index", id = UrlParameter.Optional } // Parameter defaults
);
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);
}
Run Code Online (Sandbox Code Playgroud)
它运作良好我可以拥有我的路线/投资组合/景观,但我的帐户控制器具有SignIn,SignOut,Index操作不起作用,因为它每次都被重定向到Index.
有可能同时获得两者吗?
提前谢谢你
尝试在自定义路由中引入约束,否则将不允许找到默认路由.
routes.MapRoute(
"DefaultIndex", // Route name
"portfolio/{id}", // URL with parameters
new { controller="portfolio", action = "Index", id = UrlParameter.Optional }
);
Run Code Online (Sandbox Code Playgroud)
这样,您只能在路线中映射以"portfolio"开头的URL,并指定哪个控制器和操作.其他URL的请求由默认路由处理.