Creación y Manejo de Plantillas en C#

Creación y Manejo de Plantillas en C#

Compartir

La creación y el manejo de plantillas en C# se pueden lograr utilizando bibliotecas como RazorEngine, que permite generar documentos basados en plantillas. A continuación, te mostraré cómo puedes usar RazorEngine para crear y manejar plantillas en C#.

Primero, debes instalar el paquete NuGet RazorEngine en tu proyecto. Puedes hacerlo utilizando NuGet Package Manager o ejecutando el siguiente comando en la Consola del Administrador de Paquetes: Install-Package RazorEngine

Una vez que hayas instalado RazorEngine, puedes crear y manejar plantillas como se muestra a continuación:

using RazorEngine;
using RazorEngine.Templating;
using System;
using System.Dynamic;

class Program
{
    static void Main()
    {
        // Define un modelo de datos
        dynamic model = new ExpandoObject();
        model.FirstName = "John";
        model.LastName = "Doe";

        // Define una plantilla Razor
        string template = "Hello, @Model.FirstName @Model.LastName!";
        // Compila la plantilla
        string result = Engine.Razor.RunCompile(template, "templateKey", null, model);

        // Imprime el resultado
        Console.WriteLine(result);
    }
}

En este ejemplo:

  1. Creamos un modelo de datos dinámico model utilizando ExpandoObject, pero puedes utilizar un modelo personalizado si lo prefieres.
  2. Definimos una plantilla Razor en la variable template. Puedes usar el marcador @Model para acceder a las propiedades del modelo en la plantilla.
  3. Compilamos la plantilla utilizando Engine.Razor.RunCompile, especificando la plantilla, una clave única («templateKey» en este caso), null para el modelo y el modelo de datos model.
  4. Finalmente, imprimimos el resultado, que contendrá el texto «Hello, John Doe!».

Este es un ejemplo básico de cómo crear y manejar plantillas en C# utilizando RazorEngine. Puedes personalizar las plantillas y los modelos según tus necesidades específicas. Además, puedes almacenar tus plantillas en archivos externos y cargarlas dinámicamente si es necesario.


Compartir

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *