【发布时间】:2015-02-12 11:25:27
【问题描述】:
好的,我有两个控制器:
HomeController
MathController
我希望 HomeController 的路由保持默认:{controller}/{action}/{id}。但我想使用http://myurl/Task/Math/{action} 访问 MathController 中的操作。
所以我所做的就是像这样编写我的 RouteConfig:
routes.MapRoute(
name: "Math",
url: "Task/{controller}/{action}",
defaults: new { controller = "Math", action = "Index" }
);
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Hem", id = UrlParameter.Optional }
);
当使用上述配置并在浏览器中手动输入 URL 时,两种路由方法都可以正常工作。尽管在尝试添加“actionLink”时它总是使用Task/{Controller}/{Action} 路由。即使我像这样为 Home 控制器创建链接:@Html.ActionLink("Hem", "Hem", "Home", null, new { @class = "navbar-brand" })
如何配置我的路由或操作链接以获得首选功能?
【问题讨论】:
标签: asp.net-mvc asp.net-mvc-4 asp.net-mvc-routing actionlink html.actionlink