Krav: I ASP.NET Core MVC er visningen av html-koden som malen leverer faktisk resultatet gjengitt av Template Engine, som er en teknologi som kombinerer malfiler (inkludert statisk innhold og dynamiske plassholdere) med data (variabler eller objekter) for å generere det endelige dokumentet. Det brukes mye innen ulike felt som webutvikling, e-postsystem, rapportgenerering, profilgenerering osv.
C# Malmotor: RazorEngine(Koden har ikke blitt oppdatert på 8 år, og den nyeste pakken er fortsatt fra 2017)、RazorLight Java-malmotor:Thymeleaf、FreeMarker
RazorLight
Bruk Razor til å bygge maler fra filer/innebygde ressurser/strenger/databaser, eller tilpassede kilder utenfor ASP.NET MVC. Ingen redundante avhengigheter og løsninger, utmerket ytelse og støtte. NET Standard 2.0 og . NET Core 3.0。
Kildekodeadresse:Innloggingen med hyperkoblingen er synlig.
Konsolltest
Basert på .NET 8-konsollprosjektet. For det første refereres RazorLight-pakken i prosjektet, som følger:
Du må også legge til PreserveCompilationContext-konfigurasjonen, som følger:
Ellers rapporteres en feil:Unntak for ubehandlet. RazorLight.RazorLightException: Kan ikke laste metadatareferanse fra oppføringsassemblyen. Sørg for at PreserveCompilationContext er satt til true i *.csproj-filen
I denne artikkelen bruker vi metoden med å legge inn ressurser for å legge til en malfil, opprette en ny e-postmappe og opprette en ny Send.cshtml-fil, som følger:
Koden er som følger:
Testet en normal streng, gikk gjennom samlingen og la til HTML-innhold, som vist i følgende figur:
Hvis du vil deaktivere koding for hele dokumentet – bare sett variabelen "DisableEncoding" til true, koden er som følger:
(Slutt) |