[英]MVC vNext Routing and ActionLink
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>
谁能解决这个问题?
我认为问题可能只是您使用的是template
属性而不是url
。 看完MSDN后,我在Route
类上找不到template
属性,您是在实现自己的template
吗?
无论如何,我认为这应该可行(假设您没有像您所说的那样定义其他路线):
routes.MapRoute(
name: "Default",
url: "{firstId}/{secondId}",
defaults: new { controller = "Window", action = "Index" }
);
这是路线:
routes.MapRoute(
"Default",
"Window/Index/{firstId}/{secondId}",
new { controller = "Window", action = "Index" });
这将产生以下结果:
<a href="Window/Index/a/b">Test</a>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.