繁体   English   中英

.NET 核心:区域属性路由值未正确传递

[英].NET Core : Areas attribute route value not passed correctly

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

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

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

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

https://learn.microsoft.com/en-us/as.net/core/mvc/views/tag-helpers/built-in/anchor-tag-helper?view=as.netcore-5.0

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM