asp.net core和asp-route-id

时间:2017-04-19 02:04:54

标签: asp.net-core asp.net-core-mvc asp.net-core-routing asp.net-core-tag-helpers

我创建了一个带有该签名的联系人控制器:

public IActionResult Index(string id)

路线表中没有什么花哨的东西:

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

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

<a asp-controller="Contact" asp-route-id="3255">Contact me</a>

生成的链接似乎很好,并采取正确的行动。 无论有没有asp-action,生成的链接都是:

<a href="/Contact/Index/3255">Contact me</a>

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

你能告诉我有什么不对吗?

1 个答案:

答案 0 :(得分:6)

根据配置的路线,

路线需要包含action

<a asp-controller="Contact" 
   asp-action="Index" 
   asp-route-id="3255">Contact me</a>

哪个应该生成

<a href="/Contact/Index/3255">Contact me</a>