如何使用 Url.Action 在 asp.net core 2.0 razor 页面中传递多个操作

Posted

技术标签:

【中文标题】如何使用 Url.Action 在 asp.net core 2.0 razor 页面中传递多个操作【英文标题】:How to pass multiple actions in asp.net core 2.0 razor page using Url.Action 【发布时间】:2018-07-15 14:45:23 【问题描述】:

我想使用@Url.Action 通过 ASP.NET Core 2.0 Razor 页面中的 URL 传递多个参数。我不知道我应该使用哪个标签助手。

@model Memberships.Models.SmallButton

<a asp-page="@Url.Action(Model.Action)@Model.ActionParameters" 
   class="btn @Model.ButtonType btn-sm">
     <span class="glyphicon glyphicon-@Model.Glyph"></span>
     <span class="sr-only">@Model.Text</span>
</a>

【问题讨论】:

How to add link parameter to asp tag helpers in ASP.NET Core MVC的可能重复 【参考方案1】:

据我所知,AnchorTagHelper 无法做到这一点。如果要为其添加参数,则必须一一进行:

<a asp-action="Edit" asp-route-id="@Model.Id" asp-route-something="Something">Link</a>

如果要使用Url.Action,则必须通过href 参数传递:

<a href="@Url.Action(Model.Action)">Link</a>

您可以使用UrlHelper.Action(string action, object values) 传递额外的路由值:

<a href="@Url.Action(Model.Action, Model.ActionParameters)">Link</a>

【讨论】:

以上是关于如何使用 Url.Action 在 asp.net core 2.0 razor 页面中传递多个操作的主要内容,如果未能解决你的问题,请参考以下文章

使用 Url.Action (ASP.NET MVC) 将分号附加到 href URL

无法显示带有 asp.net mvc url.action 链接的引导对话框

ASP.NET MVC Url.Action 和路由名称值

ASP.NET MVC Razor Url.Action 在 Internet Explorer 8 中不起作用

ASP.NET MVC jQuery 自动完成与页面中包含的脚本中的 url.action 助手

asp.net Javascript window.location Url.Action 不起作用