我正在使用asp.net mvc 2并根据路线创建本地化.
{culture}/{controller}/{action} en/Home/Index我的家庭控制器视图有一个到其他控制器的链接:
<a href='<%= Url.Action("Prods","Products") %>' >Products</a>
<a href='<%= Url.Action("Index","About") %>' >About</a>
Run Code Online (Sandbox Code Playgroud)第一个链接生成代码:/en/Products/Prods但第二个生成:/Home/Index
当我在参数动作中传递值时,我无法理解为什么Url.Action跳过{culture}route参数Index?我究竟做错了什么?
路线配置:
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute("Login", // Route name
"{controller}/Index", // URL with parameters
new { controller = "Login", action = "Index" } // Parameter defaults
).RouteHandler = new SingleCultureMvcRouteHandler();
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)