J'ai beaucoup d'expérience avec ASP.NET MVC 1-5. Maintenant, j'apprends ASP.NET Core MVC et je dois passer un paramètre pour créer un lien dans la page. Par exemple, j'ai le suivant Action
[HttpGet]
public ActionResult GetProduct(string id)
{
ViewBag.CaseId = id;
return View();
}
Comment puis-je implémenter le lien pour cette action en utilisant des aides de balises?
<a asp-controller="Product" asp-action="GetProduct">ProductName</a>
Vous pouvez utiliser le préfixe d'attribut asp-route-
pour préfixer les noms de vos variables de route.
Exemple:
<a asp-controller="Product" asp-action="GetProduct" asp-route-id="10"> ProductName</a>
Vous voudrez peut-être appliquer la syntaxe suivante.
<a asp-controller="Member"
asp-action="Edit"
asp-route-level="3"
asp-route-type="full"
asp-route-id="12">Click me</a>
Cela produira la route d'appel comme ceci.
/ Membre/Modifier/3/complet/12
Ensuite, vous pouvez le recevoir comme indiqué ci-dessous.
[Route({level}/{type}/{id})]
public IActionResult Edit(int level, string type, int id) { ... }
Bien que l'attribut décorant la méthode ne soit pas requis dans MVC, il montre plus clairement comment lier les attributs du lien aux paramètres transmis dans la méthode.