TOC

This article has been localized into Hungarian by the community.

Layoutok:

A ViewStart fájl

Az előző cikkben megtanultuk, hogyan készítsünk saját layoutot, amit aztán több nézetben is felhasználhatunk. Egy layout akkor van alkalmazva egy nézetben, amikor arra a Layout tulajdonságon keresztül hivatkozunk, így:

@{
    Layout = "~/Views/Shared/_Layout.cshtml";
}

Rendes körülmények között ezt minden oldalon meg kéne tenned ahol a layoutot használni szeretnéd - ez jó, mert lehetőséget ad arra, hogy több különböző layoutot használj, vagy hogy olyan oldalad legyen, ami nem használ layoutot. A legtöbb projektben viszont valószínűleg egyetlen közös layout lesz, de legalábbis lesz egy olyan, amit az esetek többségében használni fogsz. Szerencsénkre könnyen megadhatunk egy alapértelmezett layoutot, amit minden oldal automatikusan használni fog, feltéve, hogy nem adsz meg az oldalon belül egy eltérő layoutot. Ez a ViewStart fájl segítségével lehetséges.

Mi az a ViewStart fájl?

A ViewStart fájl nagyban hasonlít egy normális nézethez és ugyanazt a fájlkiterjesztést is kapja (.cshtml), ezért a használathoz csak egy nézetet kell a Views könyvtárba tenned, _ViewStart.cshtml néven. Egy pillanat és ezt meg is tesszük, de előbb meg kell említeni egy fontos dolgot: minden nézet, oldal értelmezése előtt az ASP.NET MVC automatikusan keres és értelmez egy ViewStart fájlt. Ezt kihasználva ebbe a fájlba tehetjük a nézetek közös viselkedését, ez esetben például egy alapértelmezett layout megadását. Adjunk is most a projektünkhöz egy ViewStart fájlt:

Mint a layout fájlok esetén, itt is alsóvonással kezdődjön a fájlnév, ezzel jelezzük, hogy nem szokványos nézetről van szó:

A fájl tartalma csak annyi legyen, amennyit a nézetek értelmezése előtt végre szeretnél hajtatni - sok lehetőség van ebben, most viszont csak egy alapértelmezett layoutot adunk meg. Ezt fogják a nézetek használni, ha nem adunk meg bennük másikat. Így lehet ezt elérni:

@{
Layout = "~/Views/Shared/_Layout.cshtml";
}

Ezután bármikor, amikor nézetet adsz a projektedhez, bejelölheted a "Use a layout page" lehetőséget, de a szövegdoboz üres maradhat - a layout automatikusan alkalmazva lesz az új nézeten és nem kell már kézileg beállítani a layoutot minden egyes nézetnek!

Több ViewStart fájl

A legtöbb projektben csak egy ViewStart fájlod lesz, amit közvetlen a Views könyvtárba tehetsz. Nagyobb projekteknél viszont hasznos lehet több ViewStart fájl használata, amivel nagyobb, pontosabb irányítást nyerhetsz egy bizonyos könyvtár nézetei felett. Szerencsénkre a ViewStart rendszer hierarchikus, ami azt jelenti, hogy az ASP.NET MVC először a nézet könyvtárában keresi a ViewStart fájlt, majd ha nem talál, eggyel feljebb lép a könyvtárszerkezetben.

Ezt előnyödre fordíthatod, például írhatsz egy másik ViewStart fájlt valamelyik Views alkönyvtáradban - ez a ViewStart fájl alkalmazva lesz minden ebben a könyvtárban található nézetre. A projektstruktúrád ez esetben így nézne ki:

Összefoglalás

A ViewStart fájl lehetővé teszi közös viselkedés megszabását, ami minden nézetre alkalmazva lesz. Egy példa erre egy alapértelmezett layout megadása, ahogy ebben a cikkben láthattuk. Más közös viselkedés is megadható, például nézetek közti információmegosztás ViewDatan keresztül, amiről egy későbbi cikkben beszélünk majd.


This article has been fully translated into the following languages: Is your preferred language not on the list? Click here to help us translate this article into your language!