Saltar apartados

Plantillas personalizadas

Como hemos comentado en la introducción, cualquier modelos que vaya a ser editado o visualizado, puede ser personalizada su presentación por medio de las plantillas.

Carpetas plantillas

ASP.NET MVC tiene una estructura de carpetas muy definida a la hora de buscar dónde se han definido las plantillas, y además, lo separa por las que son para edición y las que son para visualización.

Visualización
  • ~/Views/ControllerName/DisplayTemplates/TemplateName.aspx ó ~/Views/ControllerName/DisplayTemplates/TemplateName.ascx
  • ~/Views/Shared/DisplayTemplates/TemplateName.aspx ó ~/Views/Shared/DisplayTemplates/TemplateName.ascx

y en el caso de que usemos áreas (no se va a explicar inicialmente en este curso)

  • ~/Areas/AreaName/Views/ControllerName/DisplayTemplates/TemplateName.aspx ó ~/Areas/AreaName/Views/ControllerName/DisplayTemplates/TemplateName.ascx
  • ~/Areas/AreaName/Views/Shared/DisplayTemplates/TemplateName.aspx ó ~/Areas/AreaName/Views/Shared/DisplayTemplates/TemplateName.ascx
Edición
  • ~/Views/ControllerName/EditorTemplates/TemplateName.aspx ó ~/Views/ControllerName/EditorTemplates/TemplateName.ascx
  • ~/Views/Shared/EditorTemplates/TemplateName.aspx ó ~/Views/Shared/EditorTemplates/TemplateName.ascx

y en el caso de que usemos áreas (no se va a explicar inicialmente en este curso)

  • ~/Areas/AreaName/Views/ControllerName/EditorTemplates/TemplateName.aspx ó ~/Areas/AreaName/Views/ControllerName/EditorTemplates/TemplateName.ascx
  • ~/Areas/AreaName/Views/Shared/EditorTemplates/TemplateName.aspx ó ~/Areas/AreaName/Views/Shared/EditorTemplates/TemplateName.ascx

 

Mi recomendación es usar la extensión ascx para diferenciar claramente que son plantillas, de lo que son vistas por ejemplo.

Cuando creamos un proyecto vacío, veremos que no existen estas carpetas (DisplayTemplates ó EditorTemplates) en la estructura de directorios. En ese caso deberemos crearla nosotros mismos.

 

Creando una plantilla

Hay un buen número de plantillas predefinidas. Se pueden consultar en la siguiente página ASP.NET MVC 2 Templates, Part 3: Default Templates, y es posible modificar el comportamiento de cualquier de ellas simplemente yendo a la carpeta correspondiente (creando las subcarpetas que hagan falta) y editando el fichero en cuestión.

Un ejemplo muy sencillo que usan en esa página, que sirve para explicar facilmente el uso de las plantillas, es el de reemplazar la visualización de las cadenas de texto.

Siguiendo el criterio que hemos comentado antes, debemos acceder a ~/Views/Shared/DisplayTemplates/String.ascx

Plantilla para las cadenas de texto

Sabiendo que el código que le corresponde a String es

Código ASP.NET de la plantilla string

lo modificamos añadiendo una cadena de texto (Hello there!)

Código para la cadena de texto incluyendo un breve mensaje

El resultado será el siguiente cada vez que represente una cadena de texto, el valor que le corresponda (Model) + la cadena de texto que le hemos añadido.

Resultado de modificar la plantilla de cadena de texto

El ejemplo es muy básico, pero es muy útil para entender que cualquier elemento puede ser personaliza su apariencia desde las plantillas.

 

Enlaces interesantes

Servicio de Informática ASP.NET MVC 2 Framework


Universidad de Alicante
Carretera de San Vicente del Raspeig s/n
03690 San Vicente del Raspeig
Alicante (Spain)

Tel: (+34) 96 590 3400

Fax: (+34) 96 590 3464

Para más información: informacio@ua.es, y para temas relacionados con este servidor Web: webmaster@ua.es

Carretera San Vicente del Raspeig s/n - 03690 San Vicente del Raspeig - Alicante - Tel. 96 590 3400 - Fax 96 590 3464