This article has been localized into Hungarian by the community.
Query String (GET adat)
Webalkalmazásokban a felhasználótól való bemenetvétel egyik leggyakrabb módja query stringeken keresztül történik. Régebbi technológiákban, mint PHP vagy ASP Classic, közvetlen ezen a query stringen dolgoznál, de ahogy már említettük, az ASP.NET MVC absztraktálta ezt a munkát úgy, hogy te már csak paraméterekkel találkozhatsz a vezérlőakcióidon. Bizonyos helyzetekben viszont még mindig hasznos lehet közvetlen ebből a query stringből olvasni, ami szerencsénkre továbbra is könnyű ASP.NET MVC-ben.
Mi az a query string?
A URL-ek több részből állnak, például protokollból, hosztnévből, útvonalból, stb. A query string az a része a URL-nek, ami a kérdőjel után jön. Tehát ebben a URL-ben:
https://www.google.com/search?q=test&oq=hello
A ? karakter utáni rész mind a query string része. Ebben az esetben két paraméter van itt: egy q nevű és egy oq nevű. Az értékeik pedig "test" és "hello". Ezek fontos információk a URL-hez tartozó oldal számára - például a q paraméter valószínűleg azt jelzi a szervernek, hogy a felhasználó mire keresett rá. A query string általában akkor kerül a URL-be, amikor a felhasználó egy linkre kattint, vagy amikor egy űrlapot küld be. Ez lehetővé teszi, hogy a szerveren ugyanaz a fájl több helyzetet is kezelni tudjon - a query stringen keresztül érkező információ alapján tudja változtatni tartalmát.
Hozzáférés query stringhez
Az ASP.NET MVC-ben egyszerű hozzáférni a query stringhez - méghozzá a HttpContext osztályon keresztül. A következő tulajdonságban rejteznek a query stringgel kapcsolatos információk: HttpContext.Request.QueryString és HttpContext.Request.Query. A különbség annyi, hogy a QueryString tulajdonság egy nyers stringet ad, míg a Query lehetővé teszi kulcsokhoz, és azokon keresztül értékekhez, a hozzáférést. A Query tulajdonságot használjuk a következő példákban, így láthatod, milyen könnyű is dolgozni vele:
public class HomeController : Controller
{
public IActionResult QueryTest()
{
string name = "John Doe";
if (!String.IsNullOrEmpty(HttpContext.Request.Query["name"]))
name = HttpContext.Request.Query["name"];
return Content("Name from query string: " + name);
}
}
Az oldalt így most egy ehhez hasonló URL-el is le lehet kérni, így tükrözi az a felhasználó nevét:
/Home/QueryTest?name=Jenna Doe
Csupán ellenőriznem kell a "name" nevű query string paraméter meglétét, és ha tényleg létezik, akkor beolvasom az értékét egy változóba.
Összefoglalás
ASP.NET MVC projektben is könnyű a query stringhez való hozzáférés, a HttpContext osztálynak köszönhetően.