webentwicklung-frage-antwort-db.com.de

Hinzufügen von Link-Parametern zu ASP-Tag-Helfern in ASP.NET Core MVC

Ich habe viel Erfahrung mit ASP.NET MVC 1-5 . Jetzt lerne ich ASP.NET Core MVC und muss einen Parameter zum Linken auf der Seite übergeben. Zum Beispiel habe ich folgende Aktion

 [HttpGet]
 public ActionResult GetProduct(string id)
 {
      ViewBag.CaseId = id;
      return View();
 }

Wie kann ich den Link für diese Aktion mithilfe von Tag-Helfern implementieren?

<a asp-controller="Product" asp-action="GetProduct">ProductName</a>
63
Elvin Mammadov

Sie können das Attributpräfix asp-route- verwenden, um den Namen der Routenvariablen voranzustellen.

Beispiel: 

<a asp-controller="Product" asp-action="GetProduct" asp-route-id="10"> ProductName</a>
130
Alex

Möglicherweise möchten Sie die folgende Syntax anwenden.

<a asp-controller="Member"
   asp-action="Edit"
   asp-route-level="3"
   asp-route-type="full"
   asp-route-id="12">Click me</a>

Das wird die Anrufroute so erzeugen.

/ Mitglied/Bearbeiten/3/voll/12

Dann können Sie es in der unten angegebenen Methode erhalten.

[Route({level}/{type}/{id})]
public IActionResult Edit(int level, string type, int id) { ... }

Obwohl das Attribut, das die Methode dekoriert, in MVC nicht erforderlich ist, wird deutlich, wie die Attribute von der Verknüpfung an die übergebenen Parameter in der Methode gebunden werden.

0