středa 3. prosince 2014

Využití Razor mimo web

Při programování aplikací je často nutné vygenerovat nějaký text - například email - který je částečně pozměněn - například se mění oslovení (pan-paní), jméno (Martin-Petr) apod. Obvyklé postupy jsou buď tvrdě kódové - tedy skládání textu přímo v kódu za využití například StringBuilderu a nebo se použije textový soubor sloužící jako předloha (šablona), kde se vyhledávájí značky a místo nich se vkládá určitá hodnota.
Pokud ale programujete web aplikace v ASP.NET, určitě jste se setkali s MVC a Razorem - a pokud se vám tento přístup líbí - tedy možnost vytvořit si šablonu, do které se v určitých místech vkládají hodnoty a která umožňuje provádět i složitější operace - je možné podobný přístup použít i v non-web aplikacích. Stručně ukáži jak na to.

Co je nutné?

Postupy jsou popsány mnohem stručněji v jiných příspěvcích dostupných na internetu, tak to vezmu stručně:
Nejprve nainstalujte si RazorGenerator za použití následujícícho postupu
  1. Ukončete všechny běžící instance Visual Studia - nechte běžet jen jednu.
  2. Běžte do Tools -> Extension and Updates a vyhledejte Razor Generator
  3. Naistalujte to


Poté pro každý projekt/solution, ve kterém chcete Razor používat, proveďte toto:
  1. Běžte do  Tools –> NuGet Package Manager –> Package Manager Console
  2. Zadejte a spusťte"  “PM>Install-Package RazorGenerator.Templating


A to je vše, nyní již můžete Razor použít ve své aplikaci.

Vytváříme šablonu - příklad


Jak Razor použít popíši na příkladu jednoduché konzolové aplikace:

  1. Do projektu vložte novou položku - greetings.cshtml
  2. Ujistěte se, že tato položka má ve svých vlastnostech jako hodnotu Custom Tool nastaveno RazorGenerator


  3. Zadejte tento kód a ulože změny - na rozdíl od použítí v MVC nemá tato šablona vlastnost Model, ale díky bloku functions můžeme definovat jednotlivé vlastnosti a objekty - nejsme tedy vázání na jeden view model jako v případě MVC:


  4. Vraťte se do Program.cs a do Main metody vložte následující kód:


  5. Spusťte aplikaci a na obrazovce uvidíte:

Nezapomeňte:

Instalace Nuget balíčku začal váš projekt používat knihovnu RazorGenerator.Templating a tak ke scému běhu potřebuje další knihovny, takže nezapomeňte přidat tyo knihovny při šíření své aplikace: 
  • System.Web.Extensions.dll
  • System.Web.Helpers.dll

Zjednodušený přehled výše uvedeného jsem shrnul na jednu stránku A4, kterou si je možné stáhnout zde.









2 komentáře:

  1. V tom přehledovém A4 je překlep ve slově template, jinak díky za pěkný příklad.

    OdpovědětVymazat
  2. Děkuji za upozornění, opravený plakátek je ke stažení spolu s ostatními v příspěvku http://martinstrimpfl.blogspot.cz/2014/12/sbirka-plakatku-pro-c-aspnet-mvc.html

    OdpovědětVymazat