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)
{
}
}
Articolo correlato - Csharp Method
- Ordinare una lista in base a una proprietà nell'oggetto in C#
- Parametro facoltativo in C#
- Passare un metodo come parametro nella funzione C#