c# - Asp Action 路线数据

标签 c# asp.net asp.net-core asp.net-core-mvc

在旧版本的 MVC 5 中,我可以这样做来传递路由参数

@Html.ActionLink("New item", "Suggestion", new ProductSuggestion() { Username = Model.Username }, new { @class = "btn btn-default" })

我正试图让它与新的 asp-action 方法一起工作,我发现我可以把它作为一种解决方法。但正确的语法是什么?

    @{ 
        var a = new Dictionary<string, string> { { "Username", Model.Username } };
    }

    <a asp-action="Suggestion" asp-all-route-data="a" class="btn btn-default">New item</a>

最佳答案

Dave Paquette 写了一篇关于许多 TagHelper 的精彩文章。 这是 anchor 标签助手的一个:http://www.davepaquette.com/archive/2015/06/01/mvc-6-anchor-tag-helper.aspx

基本上你可以做到

<a asp-controller="MyController" asp-action="MyAction" asp-route-myvar="myValue">

然后它将提供 myValue 给像

这样的 Controller 方法
public Task<IActionResult> MyAction(string myVar) { 
...
} 

请注意,您不能轻易地对复杂类型执行此操作。

关于c# - Asp Action 路线数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39096582/

相关文章:

c# - 以编程方式添加选项卡,C# 选项卡控件

c# - 如何在 Visual Studio 中启用 NuGet 包还原?

c# - ASP.NET CORE (.NET Framework) 和本地化

c# - 为什么反序列化的 JSON 数组返回 null?

c# - 获取整数的第七位

Asp.net 用户控件负载控制问题

asp.net - Asp.net Mvc 的最佳 TinyMce 编辑器图像管理器/文件上传

c# - .NET Core 2.2 Shared Cookie 导致登录时出现 Bad Request 错误

c# - 如何在 ASP.NET Core 1 中使用 EF6

c# - HttpContext和TelemetryInitializer