Scaffolding en ASP

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 5

Scaffolding en ASP.

NET
CMO MODIFICAR LAS PLANTILLAS T4 ESTNDAR
Hermes Lizama | ASP.NET | 27 de Septiembre de 2016

Generacin de cdigo y plantillas T4


En Visual Studio, una plantilla T4 es una mezcla de bloques de texto y lgica de control que
puede generar un archivo de texto. La lgica de control es escrita como fragmentos de
cdigo de programa en Visual C# o Visual Basic. El archivo generado puede ser texto de
cualquier tipo, como una pgina web, un archivo de recurso o cdigo fuente de programa
en cualquier lenguaje.
<html><body>
The date and time now is: <#= DateTime.Now #>
</body></html>

Ntese que la plantilla de arriba se parece mucho a la salida generada. La similitud de la


plantilla a la salida resultante ayuda a evitar errores cuando quieras cambiarlo.
En adicin, la plantilla contiene fragmentos de cdigo de programa. Pueden usarse estos
fragmentos para repetir secciones de texto, para hacer secciones condicionales, y para
mostrar data de tu aplicacin.
Para generar la salida, tu aplicacin llamar una funcin generada por la plantilla. Por
ejemplo:
string webResponseText = new MyTemplate().TransformText();

Tu aplicacin puede correr en una mquina que no tenga Visual Studio instalado.
Se puede instalar el paquete MVCScaffolding abriendo la interfaz de NuGet dentro de Visual
Studio y escribiendo el comando Install-Package MvcScaffolding o buscando el paquete
MVCScaffolding y dando clic a Instalar.

MODIFICANDO LAS CODETEMPLATES


El hecho de modificar cdigo ya programado resulta ms fcil que crear algo de cero, al
menos esa es la idea de usar MVC, no tener que repetir la misma accin una y otra vez.
La forma ms sencilla de elegir el cdigo a modificar, es importando la carpeta de la plantilla
de cdigo al proyecto de Visual Studio.
Para hacer esto, creamos un nuevo proyecto de MVC en Visual Studio.
File -> New ->Project

PAGE 1

Eligiendo en la ventana de nuevo proyecto de las plantillas instaladas Visual C# (o Visual


Basic) -> Web -> ASP.NET Web Application. Ponemos el nombre de nuestro proyecto y
damos OK.

Elegimos MVC como la plantilla, y damos clic en Change Authentication, para propsitos
acadmicos elegimos No authentication, damos OK, y luego OK de nuevo.

PAGE 2

Se crear nuestro proyecto.


Luego navegamos en el explorador de Windows (puede abrirse con la tecla de Windows+E)
a la direccin C:\Program
Files
(x86)\Microsoft
Visual
Studio
14.0\Common7\IDE\Extensions\Microsoft\Web\Mvc\Scaffolding\Templates\

Ves esos folders? Resulta que todo lo que est dentro del folder de CodeTemplates son
plantillas T4 que pueden ser modificadas ah mismo o importadas localmente a tu proyecto
para ser modificadas independientemente, y las modificaciones en esas plantillas, van a
sobre escribir (para ese proyecto en particular) las plantillas globales.
Copia ese folder (CodeTemplates) o solo los subfolders a tu proyecto de ASP.NET. Tan
simple como arrastrar el folder del explorador de Windows a la ventana de soluciones de
Visual Studio.

PAGE 3

Puedes tener algunos errores cuando arrastres el folder (o folders), pero ignralos y, al
contrario, usando CTRL+Clic selecciona las plantillas (puedes borrar las que no usars) y
con clic derecho haz clic en propiedades.
Borramos el texto en Custom Tool completamente (lo que estamos haciendo es decirle a VS
que no queremos que estas plantillas T4 sean ejecutadas durante la compilacin). Solo sern
llamadas manualmente por los dilogos de herramientas de crear Controlador o crear Vista.
Tu puedes modificar estas plantillas o en el caso de Vistas, puedes crear las tuyas propias.
Con propsitos de demostracin, he creado una copia de List.cs.t4 y la he modificado con
el nombre MyAwesomeList.cs.t4 modificando algunos parmetros:

Y as de simple, hemos modificado una plantilla de Vista y la hemos agregado al cuadro de


dialogo para agregar una nueva Vista. Se puede hacer lo mismo con Controladores, al
importar al folder de CodeTemplates.
Ahora puedes hacer las tuyas!
Si quieres hacerlo de la forma fcil, ahora puedes encontrar algunas herramientas
(extensiones de VS) para crear el cdigo de las plantillas, mi favorita es el Template Editor
para VS2015 de Devart.
Saludos!

PAGE 4

También podría gustarte