【问题标题】:.NET Core : Areas attribute route value not passed correctly.NET Core:区域属性路由值未正确传递
【发布时间】:2021-10-26 04:03:40
【问题描述】:

带参数返回的区域路由链接

`/admin/home/edituser/b36c7c26`

而不是

`/admin/home/edituser?id=b36c7c26`

这又分散了我的界面,同时我使用标准的 ASP.NET 标签助手链接生成器

asp-action="edituser" asp-controller="home" asp-area="admin" asp-route-id="@user.Id"

我是不是做错了什么?

【问题讨论】:

    标签: asp.net-core-2.2


    【解决方案1】:

    asp-route-{value} 属性启用通配符路由前缀。占据 {value} 占位符的任何值都被解释为潜在的路由参数。如果未找到默认路由,则此路由前缀将作为请求参数和值附加到生成的 href 属性。否则,在路由模板中替换。

    id 在您的路由模板中找到,因此它不会作为请求参数和值附加。您的模板可能是典型的默认模板:

    "{controller=Home}/{action=Index}/{id?}"
    

    https://docs.microsoft.com/en-us/aspnet/core/mvc/views/tag-helpers/built-in/anchor-tag-helper?view=aspnetcore-5.0

    【讨论】:

      猜你喜欢
      • 2018-06-24
      • 2020-10-07
      • 2018-10-19
      • 2012-03-16
      • 1970-01-01
      • 2021-03-03
      • 1970-01-01
      • 2020-05-29
      • 2019-03-25
      相关资源
      最近更新 更多