Asp动作路径数据

sti*_*bay 10 c# asp.net asp.net-core-mvc asp.net-core

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

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

我试图让这个与新的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>
Run Code Online (Sandbox Code Playgroud)

TGl*_*zer 21

Dave Paquette对许多TagHelper做了很好的写作.这是锚标记助手的一个:http://www.davepaquette.com/archive/2015/06/01/mvc-6-anchor-tag-helper.aspx

基本上你可以做myValue,然后将提供myValue给控制器方法,如myValue.
请注意,您不能轻松地使用复杂类型.