C# Passa più parametri a un metodo Get
-
Passa più parametri a un metodo
Get
utilizzandoController Action
inC#
-
Snippet di codice per passare più parametri a un metodo
Get
utilizzandoAttribute Routing
-
Snippet di codice per passare più parametri a un metodo
Get
utilizzando[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) {}
}