TagHelper voor het doorgeven van routewaarden als onderdeel van een link

Als je asp-controlleren asp-actionopgeeft op een link, wat is dan de syntaxis om ook een id-attribuut door te geven?

Bijvoorbeeld Als ik zou willen linken naar de bewerkings-URL voor een bepaald object, zou de vereiste URL bijvoorbeeld /user/edit/5zijn.

Is er een methode om dit te bereiken met behulp van TagHelpers, of moeten we nog steeds terugvallen op @Html.ActionLink()?


Antwoord 1, autoriteit 100%

U kunt het attribuutvoorvoegsel asp-route-gebruiken om de namen van uw routevariabelen voor te voegen.

Voorbeeld: <a asp-action="Edit" asp-route-id="10" asp-route-foo="bar">Edit</a>


Antwoord 2, autoriteit 39%

Ik zou een combinatie van de andere twee antwoorden willen voorstellen, maar met een beetje extra verduidelijking.

Je gebruikt een attribuutvoorvoegsel asp-route-{name}waarbij {name}de naam is van de routeparameter die je wilt gebruiken. Met andere woorden, als het getal 5 in je route als ID-waarde aan de controller wordt doorgegeven, zou je het volgende kunnen hebben:

<a asp-controller="User" asp-action="Edit" asp-route-id="@item.ID">Edit</a>

of als de parameter die u aan de route wilde doorgeven item.UserName was, dan

<a asp-controller="User" asp-action="Edit" asp-route-username="@item.UserName">Edit</a>

En als je beide parameters had,

<a asp-controller="User" asp-action="Edit" asp-route-id="@item.Id" asp-route-username="@item.UserName">Edit</a>

Antwoord 3, autoriteit 5%

u kunt een aangepaste ID doorgeven met de onderstaande code:

<a asp-controller="User" asp-action="Edit" asp-route-id="@item.ID">Edit</a>

Antwoord 4

Ik zou nog een manier willen voorstellen voor Razor View om de modelwaarde te gebruiken met @Html.actionlink in jsp

var URLvalue='@Html.ActionLink("UserString", "action", new { routeValueName1 = "__value1__", routeValueName2="__value2__" }, htmlAttributes: new { @class = "btn btn-default", @role = "button" })'
     .replace('__value1__', Model.somevalue).replace('__value2__',  Model.somevalue);

je kunt URLvalue gebruiken waar je maar wilt in jsp of jQuery.

Other episodes