C# Passa più parametri a un metodo Get
-
Passa più parametri a un metodo
GetutilizzandoController ActioninC# -
Snippet di codice per passare più parametri a un metodo
GetutilizzandoAttribute Routing -
Snippet di codice per passare più parametri a un metodo
Getutilizzando[FromQuery]
ASP.NET MVC viene utilizzato per sviluppare applicazioni web. Il framework MVC Web API e Web pages è ora unito in un framework chiamato MVC 6. MVC è un pattern che consente di interagire con il modello, la vista e il controller tramite le richieste instradate.
In questo articolo, stiamo discutendo i vari metodi utilizzati per passare più parametri a un metodo Get in un controller MVC.
Passa più parametri a un metodo Get utilizzando Controller Action in C#
Una controller action è un metodo utilizzato per gestire le richieste in arrivo. E restituisce il risultato dell'azione. Il risultato dell'azione è la risposta alle richieste in arrivo. In questo caso, abbiamo utilizzato l’azione del controller per passare più parametri a un metodo Get.
Codice di esempio:
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);
}
Snippet di codice per passare più parametri a un metodo Get utilizzando Attribute Routing
In routing degli attributi, usiamo attributi per definire rotte. È un metodo consigliato perché riduce le possibilità di errore. Ti dà un maggiore controllo sugli URL nella tua API Web.
La sintassi corretta per utilizzare questo metodo è la seguente:
// Specify route
[Route("api/YOURCONTROLLER/{parameterOne}/{parameterTwo}")]
public string Get(int parameterOne, int parameterTwo) {
return $"{parameterOne}:{parameterTwo}";
}
}
Codice di esempio:
// Specify route
[Route("api/yourControllerName/{FirstName}/{LastName}/{Address}")]
public string Get(string id, string FirstName, string LastName, string Address) {
return $"{FirstName}:{LastName}:{Address}";
}
Snippet di codice per passare più parametri a un metodo Get utilizzando [FromQuery]
[FromQuery] viene utilizzato per specificare che un parametro deve essere associato alla stringa della richiesta. È di proprietà della classe FromQueryAttribute.
La sintassi corretta per utilizzare questa proprietà è la seguente:
[HttpGet]
public string GetByAttribute([FromQuery] string parameterOne, [FromQuery] string parameterTwo) {}
Codice di esempio:
[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) {}
}