Chalalo Land

Tecnologías ASP.NET y un poco Más

Contacto


 Si quierer cooperar, yo feliz, muy agradecido :)

De donde me Visitan?

Locations of visitors to this page

Generic Content

Si te gustaron los articulos, y te animas te estaría muy agradecido!


Recent Posts

Tags

Community

Blogs de MVP

Amigos Geeks

Blogs Imperdibles

GODS

Archives

Email Notifications

ASP.NET Ajax Library , Introducción a las nuevas plantillas Client-Side

image

Ya no es noticia que el team de ASP.NET esté trabajando a toda máquina junto al equipo de jQuery, y que buenos productos se vienen a partir de esta sociedad. Uno de estos son los templates propuestos por el team de ASP.NET  al team jQuery, que estan todavía en etapa de revisión, hay mucho feedback que se está recibiendo por parte de la comunidad.

Que son los Client Templates (o plantillas del lado del cliente)

Permiten a los desarrolladores web generar y renderizar HTML UI en el cliente (generalmente esto lo hacemos en el lado del servidor), mediante sintaxis simples permiten programáticamente invocar plantillas en el clienbte y pasar objetos Javascript , como arreglos por ejemplo, a divs específicos enmarcados en los tag propios de la plantilla. Debido a que esto todavía es una propuesta, es posible que la versión final sea diferente de lo que hoy vamos a ver.
Puedes descargar el prototipo en:  
http://github.com/nje/jquery-tmpl

Vamos a ver un ejemplo para mostrar los datos de Docentes y sus asignaturas, agregando algunas características de las plantillas.

La idea es obtener el siguiente resultado:

image  

Y como siempre en este Blog…. :)

PASO 1 – Importar las liberías

Debemos importar las librerías jQuery y la librería del template (descarga el prototipo aquí)

<script src="http://code.jquery.com/jquery.js" type="text/javascript"/>
<script src="Scripts/jquery.tmpl.js" type="text/javascript"/>

PASO 2 – Crear la Colección

Esta colección puede venir de un servicio Rest por ejemplo que nos devuelva en notación JSON un o una colección de objetos. En este caso usaremos una colección creada en la misma página:

image

Como puedes ver, es una colección simple que contiene  otra colección de Asignaturas, la cual en el ejemplo de Bernardo, está vacía. (Espero que no se enojen los personajes aludidos :P)

PASO 3 – Crear el Contenedor y la Plantilla

Para esto vamos a crear un contenedor de la Plantilla, pudiendo existir en ella una o más plantillas para renderizar. Ahora viene lo bueno, como ves se utiliza un tag script de tipo texto/html para contener a la plantilla, como se ve n la figura:

image

Luego vemos unas marcas de tipo {{ = atributo_objeto }}, que hacen referencia a los atributos de la colección que se va renderizando mediante iteración, en este caso, hago un href al atributo URL de cada objeto de la colección, luego concateno nombre y apellido para mostrar el nombre completo en la UI.
A continuación vemos unas sentencias que están en el prototipo de la plantilla, existe el IF, y el each (foreach), acá la idea es que si la persona tiene asignaturas, se muestren en una lista, si no, que muestre el mensaje Sin Asignaturas.

image

Otr0 punto es que quiero imprimir la cantidad de Asignaturas, para eso no se imprime {{= asignaturas.length}} directamente, si no que hay que utilizar funciones javascript, en el ejemplo se muestra una llamada a la función getCantidad() , la cual tiene el siguiente código:

image

Obteniendo en cada iteración , mediante el contexto de la llamada (this), el largo de la colección de Asignaturas.

PASO 4 – Agregar el CSS

image

PASO 5 (y último) – Agregar la Colección a la Plantilla

Paso indispensable (y esta para el último, ejjeje) que nos permite hacer el binding de la colección y la plantilla:

image

Con esto estamos indicando que se renderize la colección contra plantillaDocente.

PASO 6 (Opcional) – Descarga el ejemplo

Como te diste cuenta puse imágenes en vez de texto,es bastante más rápido postear de esta manera, pero no se puede copiar el código!, por eso la aplicación la puedes descargar acá

Descarga el ejemplo

Espero que te sirva!, recuerda que esto está sujeto a cambios, pero nos da una buena idea de como van a trabajar las plantillas del lado del Cliente.
Muy buena la alianza Microsoft & jQuery!!

Saludos!
Gonzalo

Posted: 13/6/2010 1:37 por Gonzalo Perez | con 8 comment(s)
Comparte este post:

Comentarios

MVP Factor ha opinado:

Nuestro buen amigo Gonzalo Perez ha escrito un excelente articulo sobre unos templates que esta creando

# June 14, 2010 4:28 PM

Chalalo Land ha opinado:

Otra de las propuestas que se han enviado a el team de jQuery por parte del team de ASP.NET tiene que

# June 21, 2010 9:44 PM

MVP Factor ha opinado:

Nuestro buen amigo Gonzalo Perez ha escrito otro excelente artículo, aquí el detalle: Otra de las propuestas

# June 21, 2010 10:52 PM

EstebanFuentealba ha opinado:

lo mas simple que he visto es www.sencha.com/.../js

creo que se usará mucho, ademas se puede adaptar a otros framework (JQuery,Mootools,etc)

Saludos!

# July 7, 2010 12:40 AM

Gonzalo Perez ha opinado:

Gracias Esteban,

Revisando!

# July 7, 2010 4:27 AM

genny ha opinado:

por favor necesito me colaboren con esto no se que hacer

como realizar una aplicacion que por medio de ajax carge en un contenedor especifico cinco plantillas diferentes

# September 20, 2010 10:23 PM

Chalalo Land ha opinado:

Si recién ya nos habían anunciado las excelentes noticias que Microsoft cooperaba con 3

# October 6, 2010 6:48 PM