Kai daug puslapių iškviečia tą patį peržiūros rezultatą, tą patį turinį galime įtraukti į peržiūros komponentą, žinoma, taip pat galime perduoti parametrus peržiūros komponentui ir grąžinti atsakymo rezultatą, scenarijus: lyderių lenteles, formas, lenteles ir kt., Šiame straipsnyje naudojama asp.net Core 3.1, kad paaiškintų, kaip naudoti "ViewComponent" rodinio komponento mokymo programą.
Peržiūrėti komponentus
Rodinio komponentas yra panašus į vietinį rodinį, bet galingesnis. Rodinio komponentas nenaudoja modelio susiejimų, o remiasi tik duomenimis, pateiktais iškviečiant modelį. Šis straipsnis buvo parašytas naudojant valdiklius ir rodinius, tačiau rodinio komponentą taip pat galima naudoti su "Razor Pages".
Peržiūrėti komponentus:
- Atvaizduoti blokus, o ne visą atsakymą.
- Apima tą patį susirūpinimą keliančių klausimų ir testavimo pranašumų atskyrimą tarp kontrolierių ir požiūrių.
- Jis gali turėti parametrus ir verslo logiką.
- Paprastai iškviečiama iš maketo puslapio.
Rodinio komponentus galima naudoti visur, kur yra pakartotinai naudojama generavimo logika, kuri yra per sudėtinga vietiniam rodiniui, pvz.:
- Dinaminis naršymo meniu
- Žymų debesis (kur pateikiama duomenų bazės užklausa)
- Prisijungimo skydelis
- Pirkinių krepšelis
- Neseniai paskelbti straipsniai
- Šoninės juostos turinys tipiniame dienoraštyje
- Kiekviename puslapyje pasirodys prisijungimo skydelis su nuoroda atsijungti arba prisijungti, atsižvelgiant į vartotojo prisijungimo būseną
Dalinis vaizdas
asp.net MVC 5 galime naudoti vietinį rodinį su šiuo kodu:
Skambučio būdas:
ViewComponent yra alternatyva vietiniams rodiniams.
ViewComponent pradžiai
Peržiūrėti komponentų klasę:
- Konstruktoriaus priklausomybės injekcija visiškai palaikoma
- Nedalyvauja valdiklio gyvavimo cikle, o tai reiškia, kad negalite naudoti filtrų rodinio komponentuose
- Nieko nelaukdami, pereikime tiesiai prie taško, kuriame norime apibendrinti miesto teritorijų klasifikacijos komponentų funkcionalumą.
Pirmiausia projekto kataloge sukurkite naują aplanką "ViewComponents" ir sukurkite naują "RootClassification.cs" klasės failą su šiuo kodu:
Peržiūros puslapyje sukuriame naują aplanką "Komponentai" projekto aplanke "/Views/Shared", tada sukuriame naują aplanką "RootClassification" (tai objektas su nauja mūsų sukurta komponentų klase) ir tada sukuriame naują "Default.cshtml" failą, kodas yra toks:
Struktūra yra tokia:
Išsamus kelias yra: /Views/Shared/Components/RootClassification/Default.cshtml
Kodėl verta statyti tokį kelią? Tai susiję su asp.net Core komponento veikimu.
Vykdymo laikas ieško rodinio šiuo keliu:
/Views/{Controller Name}/Components/{View Component Name}/{View Name}
/Views/Shared/Components/{View Component Name}/{View Name}
/Pages/Shared/Components/{View Component Name}/{View Name} Numatytasis rodinio komponento rodinio pavadinimas yra Numatytasis, o tai reiškia, kad rodinio failas paprastai bus pavadintas Default.cshtml. Kurdami rodinio komponento rezultatą arba iškviesdami peržiūros metodą, galite nurodyti kitą rodinio pavadinimą.
Skambinant, galime skambinti ten, kur reikia naudoti komponentą, kodas yra toks:
Iš naujo paleiskite projektą naudodami šį atvaizdavimą:
|