c# - sintaxis - razor mvc
Usando Razor sin MVC (7)
Encontré una biblioteca muy bonita de Jaap Lamfers:
Motor de plantillas Razor 2.0, diseños compatibles (en CodeProject)
Cualidades:
- soporte _ViewStart
- diseño de soporte
- extensible (admite algo así como MVC ViewEngines)
- contiene muestras
- muchas pruebas unitarias
- está bien documentado (ver el enlace CodeProject)
Posible duplicado:
¿Es posible usar Razor View Engine fuera de asp.net
Necesito combinar plantillas con datos para crear cadenas únicas en tiempo de ejecución. Se sugirió que mirara el motor de visualización de plantillas Razor que viene en ASP.NET MVC 3. Se ve muy bien, pero necesito usarlo fuera de la creación de vista de MVC.
Sé que puedo usar el motor Razor básico directamente, pero también he encontrado algunos proyectos que hacen que usar Razor sea más fácil. Me gusta:
- Motor Razor Hosting Template de Rick Strahl- http://www.west-wind.com/weblog/posts/864461.aspx
- Razor Engine en GitHub - https://github.com/Antaris/RazorEngine
¿Alguien tiene alguna guía sobre el uso de Razor fuera de MVC como un motor de plantillas independiente? ¿Alguna experiencia con estos proyectos de envoltura? ¿Hay otras implementaciones de alojamiento Razor que debería considerar?
Hay una buena publicación sobre cómo usar RazorEngine: Cómo crear un motor de plantillas de texto localizable usando RazorEngine
Mire la biblioteca RazorTemplates . Es más liviano que la biblioteca RazorEngine, es seguro para subprocesos y tiene una interfaz mínima muy agradable.
Phil Haack publicó sobre esta forma de hacerlo utilizando una clase generada.
Crea un archivo .cshtml y luego utiliza una extensión de tiempo de compilación en el archivo para generar una clase. Entonces puedes hacer esto:
var template = new RazorTemplate { Model = new[] { new {Name = "Scott", Id = 1}, new {Name = "Steve", Id = 2}, new {Name = "Phil", Id = 3}, new {Name = "David", Id = 4} } }; Console.WriteLine(template.TransformText());
Puede echar un vistazo a la siguiente publicación de blog que ilustra cómo podría usar el motor de vista Razor para representar una plantilla en una cadena.
Si desea generar contenido real a partir de la plantilla de afeitar. Por favor usa RazorEngine.
También eche un vistazo a esta pregunta: ¿Es posible usar Razor View Engine fuera de asp.net