V tomto článku predstavíme Razor View Import. Okrem súboru ViewStart existuje aj súbor ViewImports, ktorý MVC framework hľadá pri vykresľovaní akéhokoľvek pohľadu.
Rovnako ako pri súbore ViewStart môžeme do priečinka presunúť a pustiť ViewImports.cshtml, súbor ViewImports môže ovplyvniť všetky zobrazenia v hierarchii priečinkov
Tento pohľad je nový pre túto verziu MVC, v predchádzajúcich verziách MVC sme mohli použiť XML konfiguračné súbory na konfiguráciu určitých aspektov Razor view enginu.
Tieto XML súbory sú už preč a používame namiesto toho kód.
Súbor ViewImports je miesto, kde môžeme písať kód a umiestňovať generické inštrukcie na vytvorenie menného priestoru, ktorý potrebujeme pre naše pohľady.
Ak áno, zvyčajne používame menný priestor v našom pohľade, môžeme použiť smernicu v súbore ViewImports, keď sa zobrazí, namiesto použitia celého menného priestoru v každom pohľade alebo type typu.
Príklad
Pozrime sa na jednoduchý príklad, ako presunúť príkaz using do ViewImports. V zobrazení Index máme príkaz using na privolanie menného priestoru FirstAppDemo.Controllers, ako je uvedené v programe nižšie.
Použitie direktív umožní správne kompilovať kód generovaný z Razor zobrazenia. Bez použitia direktív kompilátor v C# nebude schopný nájsť tento typ zamestnanca. Ak chcete vidieť typ zamestnanca, odstránime z súboru Index.cshtml smernicu používanie.
Teraz spusti aplikáciu.
Uvidíte chybu, že typ alebo menný priestor HomePageViewModel nie je možné nájsť. Pravdepodobne preto, že viaceré vaše pohľady vyžadujú rovnakú direktívu používania. Takže vytvorme import Viewu v priečinku Views namiesto toho, aby sme ho dávali do každého View. Týmto sa pridá príkaz using ku každému zobrazeniu, stačí kliknúť pravým tlačidlom na priečinok Views a vybrať Add→New Item.
V strednom paneli vyberte stránku MVC View Imports. Predvolený názov je _ViewImports.cshtml. Rovnako ako pri ViewStart, nemôžeme použiť tento súbor na renderovanie HTML, takže kliknime na tlačidlo Dodať.
Teraz pridajte príkaz na použitie z tohto do súboru _ViewImports.cshtml, ako je uvedené nižšie.
Teraz všetky pohľady zobrazené v tomto priečinku alebo v akomkoľvek podpriečinku môžu používať typ v FirstAppDemo.Controllers bez špecifikácie presného príkazu používania. Spusťme vašu aplikáciu znova a vidíte, že tento pohľad už beží.
|