【问题标题】:Asp action route dataasp动作路由数据
【发布时间】:2016-08-23 08:52:53
【问题描述】:

在旧版本的 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>

【问题讨论】:

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


【解决方案1】:

Dave Paquette 写了一篇关于许多 TagHelpers 的精彩文章。 这是锚标签助手的一个: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 提供给像

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

请注意,对于复杂类型,您无法轻松做到这一点。

【讨论】:

    猜你喜欢
    • 2018-05-29
    • 2016-02-05
    • 2010-12-30
    • 1970-01-01
    • 1970-01-01
    • 2020-10-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多