如何使用 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 Razor Url.Action 在 Internet Explorer 8 中不起作用