Krav: I ASP.NET Core MVC är visningen av html-koden som mallen producerar faktiskt resultatet som renderas av Template Engine, en teknik som kombinerar mallfiler (inklusive statiskt innehåll och dynamiska platshållare) med data (variabler eller objekt) för att generera det slutgiltiga dokumentet. Det används i stor utsträckning inom olika områden såsom webbutveckling, e-postsystem, rapportgenerering, profilgenerering med mera.
C# Mallmotor: RazorEngine(Koden har inte uppdaterats på 8 år, och det senaste paketet är fortfarande från 2017)、RazorLight Java Template Engine:Thymeleaf、FreeMarker
RazorLight
Använd Razor för att bygga mallar från filer/inbäddade resurser/strängar/databaser, eller egna källor utanför ASP.NET MVC. Inga redundanta beroenden och lösningar, utmärkt prestanda och support. NET Standard 2.0 och . NET Core 3.0。
Källkodsadress:Inloggningen med hyperlänken är synlig.
Konsoltest
Baserat på .NET 8-konsolprojektet. För det första refereras RazorLight-paketet i projektet, enligt följande:
Du behöver också lägga till konfigurationen PreserveCompilationContext, enligt följande:
Annars rapporteras ett fel:Undantag för ohanterad användning. RazorLight.RazorLightException: Kan inte ladda metadatareferens från entry assembly. Se till att PreserveCompilationContext är satt till true i filen *.csproj
I den här artikeln använder vi metoden att bädda in resurser för att lägga till en mallfil, skapa en ny e-postmapp och skapa en ny Send.cshtml-fil, enligt följande:
Koden är följande:
Testade en normal sträng, loopade genom samlingen och lade till HTML-innehåll, som visas i följande figur:
Om du vill inaktivera kodning för hela dokumentet – sätt bara variabeln "DisableEncoding" till true, koden är följande:
(Slut) |