C# Übergabe mehrerer Parameter an eine Get-Methode
-
Übergeben mehrerer Parameter an eine
Get
-Methode unter Verwendung einerController-Aktion
inC#
-
Code-Schnipsel zur Übergabe mehrerer Parameter an eine
Get
-Methode mittelsAttribut-Routing
-
Code-Schnipsel zur Übergabe mehrerer Parameter an eine
Get
-Methode mit[FromQuery]
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) {}
}