asp.net核心和asp-route-id

asp.net core and asp-route-id

我已经创建了具有该签名的联系人控制器:

1
public IActionResult Index(string id)

路线表中没有任何花哨的内容:

1
2
3
4
5
6
app.UseMvc(routes =>
{
    routes.MapRoute(
    name:"default",
    template:"{controller=Home}/{action=Index}/{id?}");
});

在主视图中,我尝试创建一个指向联系人/索引的链接:

1
Contact me

生成的链接看起来不错,并且可以执行正确的操作。
使用或不使用asp-action,生成的链接为:

1
Contact me

但是未设置ID。
但是,当我复制链接并执行"粘贴并转到"时,将设置id参数。
如果我查看页面源并单击生成的链接,它也可以使用。
当我单击页面上的链接时,它不起作用。

你能告诉我怎么了吗?


给定配置的路由,

路线需要包含action

1
2
3
<a asp-controller="Contact"
   asp-action="Index"
   asp-route-id="3255">Contact me

哪个应该产生

1
Contact me