2016-04-28 59 views
0

在startup.cs文件生成URL到不同的控制器,我已经改变了默认图路线保持routdata在ASP NET MVC核心(使用锚标记辅助)

routes.MapRoute(
       name: "default", 
       template: "{controller=home}/{company=-1}/{action=index}/{id?}"); 

它可以正常工作,当您创建的URL链接(使用anchor tagHelper)来自您正在访问的同一控制器。

但我失去了公司的价值,当我创建一个链接到另一个控制器

<a asp-action="index" asp-controller="AnotherController" >TEST</a> 

例如,如果我访问http://本地主机/的TestController/22(公司= 22) 生成的URL到另一个控制器是http:// localhost/AnotherController 生成的URL到相同的控制器是正确的:http:// localhost/testcontroller/22/otherAction

回答

0

我不知道是否是最佳实践,我可以使用asp-route- prefix属性来解决它。

<a asp-action="index" asp-controller="test" asp-route-company="@ViewContext.RouteData.Values["company"]">TEST</a>