リンクで_asp-controller
_および_asp-action
_を指定する場合、id属性も渡すための構文は何ですか?
例えば。特定のオブジェクトの編集URLにリンクする場合、必要なURLは、たとえば_/user/edit/5
_になります。
TagHelpersを使用してこれを実現する方法はありますか、それとも@Html.ActionLink()
にフォールバックする必要がありますか?
属性プレフィックスasp-route-
を使用して、ルート変数名のプレフィックスを付けることができます。
例:<a asp-action="Edit" asp-route-id="10" asp-route-foo="bar">Edit</a>
他の2つの答えの組み合わせを提案したいのですが、少し明確にしています。
属性プレフィックスasp-route-{name}
を使用します。{name}
は、使用するルートパラメーターの名前です。つまり、ルートの5番がID値としてコントローラーに渡される場合、次のようになります。
<a asp-controller="User" asp-action="Edit" asp-route-id="@item.ID">Edit</a>
または、ルートに渡したいパラメーターがitem.UserNameの場合
<a asp-controller="User" asp-action="Edit" asp-route-username="@item.UserName">Edit</a>
そして、両方のパラメーターがあった場合
<a asp-controller="User" asp-action="Edit" asp-route-id="@item.Id" asp-route-username="@item.UserName">Edit</a>
以下のコードを使用してカスタムIDを渡すことができます。
<a asp-controller="User" asp-action="Edit" asp-route-id="@item.ID">Edit</a>