|
|
Zverejnené 7. 2. 2021 16:18:25
|
|
|
|

Keď veľké množstvo stránok volá rovnaký výsledok zobrazenia, môžeme ten istý obsah zapuzdriť do view komponentu, samozrejme, môžeme tiež odovzdať parametre do view komponentu a vrátiť výsledok odpovede, scenáre: rebríčky, formuláre, tabuľky a podobne. Tento článok používa asp.net core 3.1 na vysvetlenie, ako používať tutoriál ViewComponent view komponentu.
Zobraziť komponenty
Komponent View je podobný lokálnemu zobrazeniu, ale výkonnejší. Komponent pohľadu nepoužíva viazania modelu, ale spolieha sa iba na dáta poskytnuté pri volaní modelu. Tento článok bol napísaný pomocou kontrolérov a pohľadov, ale komponent pohľadu je možné použiť aj s Razor Pages.
Zobraziť komponenty:
- Renderujte bloky namiesto celej odpovede.
- Obsahuje rovnaké oddelenie obáv a testabilných výhod, aké sa nachádzajú medzi kontrolormi a pohľadmi.
- Môže mať parametre a obchodnú logiku.
- Zvyčajne sa volá z rozloženia stránky.
Komponenty zobrazenia sa dajú použiť kdekoľvek, kde máte opakovane použiteľnú vykresľovaciu logiku, ktorá je príliš zložitá na lokálny pohľad, napríklad:
- Dynamické navigačné menu
- Tag cloud (kde sa databáza dotazuje)
- Prihlasovací panel
- Nákupný košík
- Nedávno publikované články
- Obsah na bočnom paneli na typickom blogu
- Na každej stránke sa zobrazí prihlasovací panel s odkazom na odhlásenie alebo prihlásenie v závislosti od stavu prihlásenia používateľa
Čiastočný pohľad
V asp.net MVC 5 môžeme použiť lokálny pohľad s nasledujúcim kódom:
Spôsob volania:
ViewComponent je alternatívou k lokálnym zobrazeniam.
ViewComponent na začiatok
Zobraziť triedu komponentu:
- Injekcia závislostí konštruktorov je plne podporovaná
- Nie sú zapojené do životného cyklu kontroléra, čo znamená, že nemôžete používať filtre v komponentoch zobrazenia
- Bez ďalších rečí, poďme rovno k bodu, kde chceme zhrnúť funkčnosť komponentov klasifikácie mestských oblastí.
Najprv vytvorte nový priečinok "ViewComponents" v adresári projektu a vytvorte nový súbor triedy "RootClassification.cs" s nasledujúcim kódom:
Na stránke zobrazenia vytvoríme nový priečinok "Components" pod priečinkom "/Views/Shared" projektu, potom vytvoríme nový priečinok "RootClassification" (je to objekt s novou triedou komponentu, ktorú sme vytvorili), a nakoniec vytvoríme nový súbor "Default.cshtml", kód je nasledovný:
Štruktúra je nasledovná:
Podrobná cesta je: /Views/Shared/Components/RootClassification/Default.cshtml
Prečo stavať takúto cestu? Súvisí to s tým, ako funguje komponent asp.net Core.
Runtime vyhľadáva pohľad v nasledujúcej ceste:
/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} Predvolený názov view komponentu je Default, čo znamená, že váš view súbor sa zvyčajne volá Default.cshtml. Pri vytváraní výsledku komponenty zobrazenia alebo volaní metódy zobrazenia môžete určiť iný názov zobrazenia.
Volaním, môžeme volať tam, kde potrebujeme komponent použiť, kód je nasledovný:
Znovu spustite projekt s nasledujúcim renderovaním:
|
Skóre
-
Zobraziť všetky hodnotenia
Predchádzajúci:EF Core Series (3) Atribúty tieňa rámca entít [Reprint]Budúci:Webová stránka používa plugin swiper na implementáciu obrázkovej prezentácie (karusel)
|