设置`ActionLink`和`Url.Action`的路由模板

时间:2017-03-23 09:15:42

标签: asp.net-mvc asp.net-core-mvc

给出以下代码:

@Html.ActionLink("Edit", "Edit", new { id = "123"}, null)

帮助程序呈现的Html代码为/Edit?id=123

如果我的Action已使用Route属性或带有HttpGet("{id}")等模板的任何其他属性进行修饰,则生成的网址肯定会失败。我知道我可以通过做类似的事情来解决这个问题:

<a href="@Url.Action("Edit")/@id">Edit</a>

但是,我想知道是否有任何内置功能可以更改MVC助手生成的URL模板,例如为了实现给定的示例。

1 个答案:

答案 0 :(得分:-2)

如果您希望链接为/Edit/123,则路由属性必须如下所示:

[HttpGet("[action]/{id}")]

目前您正在尝试路由到/123

占位符[action]将替换为操作名称。

相关问题