dav*_*317 5 asp.net-mvc asp.net-core-mvc asp.net-core-tag-helpers razor-pages
有什么办法可以使这项工作?
<a class="btn btn-info" asp-action="ActionName" asp-route-id="@item.ID"
                       asp-all-route-data="parms" >Action</a>
这会生成以下链接:
sitename.com/controller/action?parm1=parm1&parm2=parm2
等我希望它生成这个:
sitename.com/controller/action/{id}?parm1=parm1&parm2=parm2
似乎您无法将 route-id 与 asp-route-all-data 结合使用。它是一个表上的链接,所以我的 ID 随每一行而变化,其余的过滤器(搜索字符串、页面、排序等)不会改变。如果这行得通,将节省大量的复制和粘贴。
在写这篇文章时,我意识到我可能可以使用项目字典和我的模型的 IEnumerable 创建一个 Viewmodel,而不仅仅是按原样使用我的模型。有没有其他(更简单的)方法可以使这项工作?
小智 4
将“asp-all-route-data”属性放在“asp-route-id”之前可以解决问题。
<a class="btn btn-info" asp-action="ActionName" 
        asp-all-route-data="parms"             
        asp-route-id="@item.ID">Action</a>
并生成以下链接:
sitename.com/controller/action/{id}?parm1=parm1&parm2=parm2
| 归档时间: | 
 | 
| 查看次数: | 2864 次 | 
| 最近记录: |