MVC 6 - 使用Core 5.0的vNext
我在项目中使用了一条路线,如下所示:
routes.MapRoute(
name: "Default",
template: "{firstId}/{secondId}",
defaults: new { controller = "Window", action = "Index" });
在我的一个观点中,我尝试创建一个ActionLink
,如下所示:
@Html.ActionLink("Title", "Index", "Window", new { firstId = "a", secondId = "b" }, null);
此ActionLink
返回以下锚点:
<a href="/Window?firstId=a&secondId=b">Test</a>
但我期待的是:
<a href="/a/b">Test</a>
任何人都可以解决这个问题吗?
答案 0 :(得分:2)
我认为问题可能只是您使用template
属性而不是url
。看了MSDN我在template
课程上找不到Route
属性,你实现了自己的属性吗?
在任何情况下,我认为这应该有效(假设您没有按照您的说法定义其他路线):
routes.MapRoute(
name: "Default",
url: "{firstId}/{secondId}",
defaults: new { controller = "Window", action = "Index" }
);
答案 1 :(得分:-1)
这是路线:
routes.MapRoute(
"Default",
"Window/Index/{firstId}/{secondId}",
new { controller = "Window", action = "Index" });
将产生以下结果:
<a href="Window/Index/a/b">Test</a>