web-dev-qa-db-ja.com

Aspアクションルートデータ

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>
12
stibay

Dave Paquetteが、タグヘルパーの多くについてニースの記事を書きました。アンカータグヘルパーのコードは次のとおりです。 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) { 
...
} 

複雑な型ではこれを簡単に行うことができないことに注意してください。

24
TGlatzer