|
|
Zveřejněno 7. 2. 2021 16:18:25
|
|
|
|

Když velké množství stránek vyvolá stejný výsledek zobrazení, můžeme stejný obsah zapouzdřit do komponenty pohledu, samozřejmě můžeme také předat parametry komponentě zobrazení a vrátit výsledek odpovědi, scénáře: žebříčky, formuláře, tabulky atd. Tento článek využívá asp.net jádro 3.1 k vysvětlení, jak používat tutoriál komponenty zobrazení ViewComponent.
Zobrazit komponenty
Komponenta View je podobná lokálnímu zobrazení, ale je výkonnější. Komponenta pohledu nepoužívá vazby modelu, ale spoléhá pouze na data poskytnutá při volání modelu. Tento článek byl napsán pomocí ovladačů a pohledů, ale komponenta pohledu může být použita i s Razor Pages.
Zobrazit komponenty:
- Vykreslujte bloky místo celé odpovědi.
- Zahrnuje stejné oddělení otázek a testabilních výhod, jaké se nachází mezi kontrolory a pohledy.
- Může mít parametry a obchodní logiku.
- Obvykle se volá z rozvržení stránky.
Komponenty zobrazení lze použít kdekoliv, kde máte opakovaně použitelnou vykreslovací logiku, která je příliš složitá pro lokální zobrazení, například:
- Dynamické navigační menu
- Tag cloud (kde je databáze dotazována)
- Přihlašovací panel
- Nákupní košík
- Nedávno publikované články
- Obsah na postranním panelu typického blogu
- Na každé stránce se zobrazí přihlašovací panel s odkazem pro odhlášení nebo přihlášení v závislosti na stavu přihlášení uživatele
Částečný pohled
V asp.net MVC 5 můžeme použít lokální pohled s následujícím kódem:
Způsob volání:
ViewComponent je alternativou k lokálním pohledům.
ViewComponent pro začátek
Zobrazit třídu komponent:
- Injekce závislostí konstruktorů je plně podporována
- Není zapojen do životního cyklu ovladače, což znamená, že nemůžete používat filtry v komponentách zobrazení
- Bez dalšího otálení pojďme rovnou k tomu, že chceme shrnout funkčnost komponent klasifikace městské oblasti.
Nejprve vytvořte novou složku "ViewComponents" v adresáři projektu a vytvořte nový soubor třídy "RootClassification.cs" s následujícím kódem:
Na stránce zobrazení vytvoříme novou složku "Components" pod složkou "/Views/Shared" projektu, poté vytvoříme novou složku "RootClassification" (to je objekt s novou třídou komponenty, kterou jsme vytvořili), a nakonec vytvoříme nový soubor "Default.cshtml", kód je následující:
Struktura je následující:
Podrobná cesta je: /Views/Shared/Components/RootClassification/Default.cshtml
Proč stavět takovou cestu? To souvisí s tím, jak funguje komponenta asp.net Core.
Runtime hledá pohled v následující cestě:
/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} Výchozí název zobrazení pro komponentu zobrazení je Default, což znamená, že váš soubor pohledu se obvykle jmenuje Default.cshtml. Při vytváření výsledku komponenty zobrazení nebo volání metody View můžete zadat jiný název zobrazení.
Voláním můžeme volat tam, kde potřebujeme komponentu použít, kód je následující:
Projekt znovu spusťte s následujícím renderováním:
|
Partitura
-
Zobrazit všechna hodnocení
Předchozí:EF Core Series (3) Entity Frame Shadow atributy [přetisk]Další:Web používá plugin swiper k implementaci obrázkové prezentace (karusel)
|