This article has been localized into Hungarian by the community.
Bevezetés
A tanfolyam elején röviden már beszéltünk a vezérlőkről (Controller) az MVC struktúrában és hozzá is adtunk egyet a projektünkhöz, hogy lássuk, hogyan néznek ki és mit is csinálnak. Ebben a fejezetben mélyebben belemerülünk a vezérlők működésébe, kezdve ezzel a cikkel, ahol az alapvető elveket fogjuk tárgyalni.
Mi a vezérlő?
Ahogy már említettük a tanfolyamban, a vezérlő egyfajta közvetítőként viselkedik - kombinálja a modellt egy nézettel, majd az eredményt a végfelhasználónak továbbítja. Nincs azonban feltétlen szükség se modellre, se nézetre - egy vezérlő önmaga is képes egyszerű feladatok elvégzésére, például szöveges üzenet megjelenítésére vagy a felhasználó átirányításra. Utóbbiakat egy későbbi, Akcióeredmények című cikkben fogjuk tárgyalni.
ASP.NET MVC-ben egy vezérlő ugyanolyan, mint egy általános osztály, tehát .cs fájlkiterjesztéssel rendelkezik (vagy .vb-vel, ha Visual Basicet használsz), és ugyanúgy is néz ki. Van ellenben pár sajátossága amivel te (és a .NET keretrendszer) felismerheti, hogy MVC vezérlőről van szó:
- Többnyire egy "Controllers" nevű könyvtárban kap helyet, ami a projekted gyökérkönyvtárában van
- A Microsoft.AspNetCore.Mvc.Controller osztályból ered (vagy egy saját osztályodból, ami viszont a Microsoft.AspNetCore.Mvc.Controller osztályból ered)
- Az osztály neve többnyire a Controller szóra végződik, pl. "HomeController" vagy "ProductsController"
Ha nem követed ezeket az előírásokat, a .NET keretrendszer nem fogja vezérlőként felismerni az osztályaidat, ezért érdemes őket betartani. Viszont ha mégis el szeretnél térni tőlük, például másképp szeretnéd nevezni a vezérlőidet, akkor a [Controller] attribútum segítségével megfelelően jelölheted őket. Ezt közvetlenül az osztálydeklaráció előtt kell tenned.
A Microsoft.AspNetCore.Mvc.Controller osztályból eredeztetéssel kapsz némi olyan funkcionalitást, ami főként MVC feladatokra használható, például a nézetek és részleges nézetek visszatérítése. Emellett olyan, HTTP-vel kapcsolatos információkhoz is hozzáférést ad, mint például a querystring, a Controller osztály HttpContext tulajdonságának köszönhetően. Más szavakkal egy általános .NET osztályt webes lehetőségekkel ruház fel, olyanokkal, amiket a PHP, ASP Classic és sok más hasonló webtechnológia is tartalmaz.
Hova kerülnek a vezérlők?
A vezérlők többnyire egy "Controllers" nevű könyvtárban kapnak helyet, ami az MVC projekt gyökérkönyvtárában van. Általában a céljuknak megfelelő nevet kapnak, "Controller" utótaggal. Ez alapján a Solution Explorerben így nézhet ki a könyvtárszerkezet:
Összefoglalás
Remélhetőleg így jobban érted, hogy mi is egy vezérlő, és hogyan vannak definiálva. A következő cikkekben alaposabban vesszük a vezérlőkhöz kapcsolódó témákat, amivel remélhetőleg tisztává válik, mi mindenre lehet a vezérlőket az ASP.NET MVC-ben használni.