I denne artikel introducerer vi Razor View Import. Ud over ViewStart-filen findes der også en ViewImports-fil, som MVC-frameworket leder efter, når de renderer en hvilken som helst visning.
Ligesom med ViewStart-filen kan vi trække og slippe ViewImports.cshtml ind i mappen, og ViewImports kan påvirke alle visninger i mappehierarkiet
Denne visning er en ny visning for denne version af MVC; i tidligere MVC-versioner kunne vi bruge XML-konfigurationsfiler til at konfigurere visse aspekter af Razor-visningsmotoren.
De XML-filer er nu væk, og vi bruger kode i stedet.
ViewImports-filen er stedet, hvor vi kan skrive kode og placere generiske instruktioner for at hente det navnerum, vi har brug for til vores visninger.
Hvis der er, bruger vi normalt navnerummet i vores visning, vi kan bruge direktivet i ViewImports-filen, når vi dukker op, i stedet for at bruge hele navnerummet i hver visning eller typetype.
Eksempel
Lad os tage et simpelt eksempel for at se, hvordan man flytter using directive til ViewImports. I Index-visningen har vi en kommando til at hente navnerummet FirstAppDemo.Controllers, som vist i programmet nedenfor.
Ved at bruge direktiver kan koden genereret fra Razor-visningen kompileres korrekt. Uden brug af direktiver vil C#-kompilatoren ikke kunne finde denne medarbejdertype. For at se medarbejdertypen, lad os fjerne ubrugelighedsdirektivet fra Index.cshtml-filen.
Kør nu appen.
Du vil se en fejl, der siger, at typen eller navnerummet HomePageViewModel ikke kan findes. Sandsynligvis fordi flere af dine visninger kræver samme brugsdirektiv. Så lad os lave en View-import i Views-mappen i stedet for at lægge den i hver visning. Dette tilføjer en ubrugelig sætning til hver visning, højreklik bare på mappen Views og vælg Tilføje→Nyt Element.
I midterpanelet vælger du siden MVC View Imports. Som standard er navnet _ViewImports.cshtml. Ligesom med ViewStart kan vi ikke bruge denne fil til at gengive HTML, så lad os trykke på Tilføj knappen.
Tilføj nu using directive fra dette til _ViewImports.cshtml-filen som vist nedenfor.
Nu kan alle visninger, der vises i denne mappe eller enhver undermappe, bruge typen i FirstAppDemo.Controllers uden at specificere en præcis ubrugelig sætning. Lad os køre din app igen, og du kan se, at visningen nu kører.
|