Jakiś czas temu renderowania szablon korzystając RazorEngine
było tak proste, jak:Templating użyciu nowego RazorEngine API
string s = RazorEngine.Razor.Parse()
Jednak z jakiegoś powodu, jego autorzy zmienili zdanie o API i obecnie najprostszy sposób renderowania szablon jest:
var key = new RazorEngine.Templating.NameOnlyTemplateKey("EmailTemplate", RazorEngine.Templating.ResolveType.Global, null);
RazorEngine.Engine.Razor.AddTemplate(key, new RazorEngine.Templating.LoadedTemplateSource("Ala ma kota"));
StringBuilder sb = new StringBuilder();
StringWriter sw = new StringWriter(sb);
RazorEngine.Engine.Razor.RunCompile(key, sw);
string s = sb.ToString();
(przynajmniej to co wywnioskowałem z nowego API Old jeden jest oznaczony jako przestarzałe.). Czy istnieje sposób na wykorzystanie nowego API do renderowania szablonu bez buforowania, kluczy i innych fantazyjnych rzeczy? Wszystko official examples po prostu nie działa.
I druga opinia. Przykłady są bezużyteczne i nie mógłbym po prostu użyć przestarzałych metod, ponieważ teraz metoda RazorEngine.Templating.RazorEngineService.GetCompiledTemplate podaje mi błąd "Brak szablonu z kluczem ..." Aktualizacja jest zbyt skomplikowana i bolesne: dlaczego mamy używać pamięci podręcznej i klucza szablonu? Rozwinąłem projekt i staram się, aby mój stary kod działał z nową wersją ... – JJP
Pamiętaj, aby umieścić: "using RazorEngine;" i "używając RazorEngine.Templating;" u góry, w przeciwnym razie przykłady nie będą działać. – ooXei1sh