Šiame straipsnyje pristatysime "Razor View Import". Be "ViewStart" failo, taip pat yra "ViewImports" failas, kurio MVC sistema ieško generuodama bet kurį rodinį.
Kaip ir "ViewStart" failą, į aplanką galime nuvilkti ViewImports.cshtml, failas "ViewImports" gali paveikti visus aplankų hierarchijos rodinius
Šis vaizdas yra naujas šios MVC versijos vaizdas, ankstesnėse MVC versijose galėjome naudoti XML konfigūracijos failus, kad sukonfigūruotume tam tikrus "Razor" rodinio variklio aspektus.
Tų XML failų dabar nebėra, o vietoj to naudojame kodą.
Faile "ViewImports" galime parašyti kodą ir įdėti bendrąsias instrukcijas, kad įtrauktume vardų sritį, kurios reikia mūsų rodiniams.
Jei yra, paprastai naudojame vardų sritį savo rodinyje, galime naudoti direktyvą faile ViewImports, kai tik pasirodysime, o ne naudoti visą vardų sritį kiekviename rodinyje ar tipo tipe.
Pavyzdys
Paimkime paprastą pavyzdį, kad pamatytume, kaip perkelti naudojimo direktyvą į ViewImports. Rodyklės rodinyje turime komandą naudojant vardų sritį FirstAppDemo.Controllers, kaip parodyta toliau pateiktoje programoje.
Naudojant direktyvas bus galima teisingai kompiliuoti kodą, sugeneruotą iš skustuvo rodinio. Nenaudojant direktyvų, C# kompiliatorius negalės rasti šio darbuotojo tipo. Norėdami pamatyti darbuotojo tipą, pašalinkite naudojimo direktyvą iš failo Index.cshtml.
Dabar paleiskite programą.
Pamatysite klaidą, nurodančią, kad nepavyko rasti tipo arba vardų srities HomePageViewModel. Tikriausiai todėl, kad kelios jūsų nuomonės reikalauja tos pačios naudojant direktyvą. Taigi sukurkime rodinio importavimą aplanke Rodiniai, o ne įdėkime jį į kiekvieną rodinį. Tai pridės naudojimo sakinį prie kiekvieno rodinio, tiesiog dešiniuoju pelės mygtuku spustelėkite aplanką Rodiniai ir pasirinkite Pridėti→Naujas elementas.
Vidurinėje srityje pasirinkite puslapį MVC rodinio importavimas. Pagal numatytuosius nustatymus pavadinimas yra _ViewImports.cshtml. Kaip ir "ViewStart", negalime naudoti šio failo HTML atvaizduoti, todėl paspauskime mygtuką Pridėti.
Dabar pridėkite naudojimo direktyvą iš to į _ViewImports.cshtml failą, kaip parodyta toliau.
Dabar visi rodiniai, rodomi šiame aplanke ar bet kuriame poaplankyje, gali naudoti FirstAppDemo.Controllers tipą, nenurodant tikslaus naudojimo teiginio. Paleiskite programą dar kartą ir pamatysite, kad rodinys dabar veikia.
|