C# Übergabe mehrerer Parameter an eine Get-Methode

Minahil Noor 12 Oktober 2023
  1. Übergeben mehrerer Parameter an eine Get-Methode unter Verwendung einer Controller-Aktion in C#
  2. Code-Schnipsel zur Übergabe mehrerer Parameter an eine Get-Methode mittels Attribut-Routing
  3. Code-Schnipsel zur Übergabe mehrerer Parameter an eine Get-Methode mit [FromQuery]
C# Übergabe mehrerer Parameter an eine Get-Methode

ASP.NET MVC wird zur Entwicklung von Web-Anwendungen verwendet. Die MVC Web API und das Webseiten-Framework sind nun zu einem Framework namens MVC 6 verschmolzen. MVC ist ein Muster, das es Ihnen erlaubt, mit dem Modell, dem View und dem Controller über geroutete Anfragen zu interagieren.

In diesem Artikel diskutieren wir verschiedene Methoden, die verwendet werden, um mehrere Parameter an eine Get-Methode in einem MVC controller zu übergeben.

Übergeben mehrerer Parameter an eine Get-Methode unter Verwendung einer Controller-Aktion in C#

Eine Controller-Aktion ist eine Methode, die zur Behandlung eingehender Anfragen verwendet wird. Und sie gibt das Aktionsergebnis zurück. Das Aktionsergebnis ist die Antwort auf die eingehenden Anfragen. In diesem Fall haben wir eine Controller-Aktion verwendet, um mehrere Parameter an eine Get-Methode zu übergeben.

Beispiel-Code:

public string Get(int? id, string FirstName, string LastName, string Address) {
  if (id.HasValue)
    GetById(id);
  else if (string.IsNullOrEmpty(Address))
    GetByName(FirstName, LastName);
  else
    GetByNameAddress(FirstName, LastName, Address);
}

Code-Schnipsel zur Übergabe mehrerer Parameter an eine Get-Methode mittels Attribut-Routing

Beim Attribut-Routing verwenden wir Attribute, um Routen zu definieren. Es ist eine empfohlene Methode, weil sie die Fehlerwahrscheinlichkeit reduziert. Sie gibt Ihnen mehr Kontrolle über URLs in Ihrer Web API.

Die korrekte Syntax zur Verwendung dieser Methode lautet wie folgt:

// Specify route
[Route("api/YOURCONTROLLER/{parameterOne}/{parameterTwo}")]
public string Get(int parameterOne, int parameterTwo) {
  return $"{parameterOne}:{parameterTwo}";
}
}

Beispiel-Code:

// Specify route
[Route("api/yourControllerName/{FirstName}/{LastName}/{Address}")]
public string Get(string id, string FirstName, string LastName, string Address) {
  return $"{FirstName}:{LastName}:{Address}";
}

Code-Schnipsel zur Übergabe mehrerer Parameter an eine Get-Methode mit [FromQuery]

[FromQuery] wird verwendet, um anzugeben, dass ein Parameter mit der Anfrage-Anfrage string gebunden werden soll. Er ist die Eigenschaft der Klasse FromQueryAttribute.

Die korrekte Syntax zur Verwendung dieser Eigenschaft lautet wie folgt:

[HttpGet]
public string GetByAttribute([FromQuery] string parameterOne, [FromQuery] string parameterTwo) {}

Beispiel-Code:

[Route("api/person")]
public class PersonController : Controller {
  [HttpGet]
  // Passing one parameter to the Get method
  public string GetById([FromQuery] int id) {}

  [HttpGet]
  // Passing two parameters to the Get method
  public string GetByName([FromQuery] string firstName, [FromQuery] string lastName) {}

  [HttpGet]
  // Passing multiple parameters to the Get method
  public string GetByNameAndAddress([FromQuery] string firstName, [FromQuery] string lastName,
                                    [FromQuery] string address) {}
}

Verwandter Artikel - Csharp Method