Další z mých mezisvátkových open source projektů je sada šablon pro dynamické generování UI v ASP.NET Razor Pages a MVC Core. Jedná se o ideového nástupce mého NuGet balíčku Altairis.Mvc.EditorTemplates, který jsem vytvořil pro ASP.NET MVC 5.
Píšete-li aplikace v ASP.NET MVC nebo Razor Pages, téměř s jistotou používáte dynamické generování uživatelského rozhraní. Buďto na úrovni jednotlivých polí (@Html.EditorFor(m => m.Field)
nebo asp-for="Model.Field"
) nebo na úrovni celého modelu (@Html.EditorForModel()
). V takovém případě ASP.NET standardně pro generování HTML použije své vestavěné šablony, které jsou připraveny na použití UI frameworku Bootstrap a obsahují tedy patřičné HTML a CSS třídy.
Já Bootstrap nepoužívám a nemám rád. Dávám přednost sémantickému, čistému HTML. Proto jsem hledal jednodušší šablony, které by bootstrapové konstrukce neobsahovaly. ASP.NET použité šablony umožňuje modifikovat. Stačí nahrát soubory s názvem odpovídajícím logickému typu pole do ~/Views/Shared/EditorTemplates/*název_typu*.cshtml
(pro MVC) nebo do ~/Pages/EditorTemplates/*název_typu*.cshtml
pro Razor Pages.
Vytvořil jsem tedy sadu šablon pro minimální implementaci. Obsahují opravdu jenom ten minimální markup, který obsahuje pouze minimální formátování. Pro staré MVC (5.0) je k dispozici jako NuGet balíček Altairis.Mvc.EditorTemplates.
Instalace šablon
Pro Core verzi jsem zvolil poněkud jiný způsob distribuce. U šablon se totiž předpokládá, že je budete hojně modifikovat dle potřeb svých a podle typu aplikace. Tj. jednou se nakopírují, ale nejspíše je nebudete nikdy aktualizovat. NuGet balíčky jsou tedy pro tento případ dosti nevhodné.
Inspiroval jsem se proto u projektu IdentityServer, který šablony pro svůj quickstart instaluje pomocí PowerShellu (na Windows) nebo Bashe (na Linuxu a Mac OS). Pro instalaci tedy stačí z příkazové řádky spustit kód, který z GitHubu stáhne soubory a nakopíruje je na patřičná místa.
Samozřejmě vše můžete udělat i ručně. V zásadě jde pouze o stažení souborů ze složky EditorTemplates a jejich nakopírování do správného adresáře. Nicméně instalační skript dokáže celou záležitost značně zjednodušit.
Zdrojové kódy projektu i návod k jeho instalaci najdete na GitHubu.