Usando los ASP.NET AJAX Control Extender en VS 2008

En las últimas semanas hemos visto el intellisense de JavaScript de VS2008 y el debugging. También hablamos de cómo están soportados ASP.NET AJAX 1.0 Y 3.5 en VS 2008, también sabemos que podemos tener intellisense para Silverlight en VS 2008.

Otra de las pequeñas pero útiles características de AJAX es que podemos aprovecharnos de las nuevas mejoras del diseñador de VS2008 para los ASP.NET AJAX Control Extenders.

¿Qué son los ASP.NET Control Extenders?

Son los controles que heredan de System.Web.UI.ExtenderControls, y que se pueden usar para añadir funcionalidad (normalmente soporte AJAX) a controles existentes que se han declarado en la página. Permite a los desarrolladores encapsular comportamientos y hace fácil añadir funcionalidades más ricas a nuestras aplicaciones.

El ASP.NET AJAX Control Toolkit es un gran ejemplo de un proyecto que se aproveche de esta funcionalidad. Incluye más de 40 extensores de controles que podemos descargar para añadir funcionalidad AJAX a nuestras aplicaciones.

Por ejemplo, supongamos que queremos tener un textbox en una página donde un usuario pueda introducir un dato:

Si el navegador tiene habilitado JavaScript, querremos tener un calendario que aparezca cuando el usuario ponga el foco en el textbox para ayudar a seleccionar una fecha:

Habilitar esto es tribial usando el ASP.NET AJAX Control Toolkit. Sólo hay que añadir el control «CalendarExtender» e indicarle en la propiedad «TargetControlId» el nombre del <asp:textbox>:

El CalendarExtender emitirá automáticamente un script AJAX al cliente que añadirá el comportamiento del calendario al TextBox en tiempo de ejecución. NO hay que añadir ningún código más.

Uso de los ASP.NET AJAX Control Extenders en VS 2008.

Con VS 2005 teníamos que lanzar manualmente los extensores de controles (via código o bien en la ventana de propiedades).

VS 2008 lo hace aún más fácil descubir y enlazar extensores de controles. Aquí tenéis algunos pasos que podemos seguir para ver esto en acción:

Paso 1: Añadir los ASP.NET AJAX Control Extenders a la barra de herramientas de VS 2008

Podemos descargar el ASP.NET AJAX Control Toolkit para .NET 3.5 de esta página. Podemos arrastrar y soltar  el assembly AJAXControlToolkit.dll a la barra de herramientas de VS 2008 para tener estos extensores a mano y añadirlos a cualquier página:

Paso 2: Enlazar un Control Extender a un control existente:

Una vez añadidos estos controles a la barra de herramientas de VS 2008, veremos una nueva opción cuando seleccionemos un control en una página:

Si hacemos clic en «Add Extender …» veremos un cuadro de diálogo con todos los extensores que podemos usar con el control que habiamos seleccionado:

Sólo seleccionamos el extensor que queramos, le damos un nombre para el extensor y hacemos clic en OK. Con esto se añadirá el siguiente código:

Paso 3: Fusión de propiedades

Cuando enlazamos un control extensor a un control en VS 2008, la ventana de propiedades del control original se extiende para mostrar además las propiedades del extensor enlazado:

De esta forma podemos ver todas las propiedades juntas. También podemos tener varios extensores asociados al mismo control (Por ejemplo: podemos tener un TextBoxWaterMark extender y un CalendarExtender asociado al mismo TextBox, y ver las propiedades de ambos extensores en la ventana anterior).

Paso 4: Borrar un Extensor.

Si queremos eliminar un extensor de un control, sólo seleccionamos la opción «Remove Extender…»:

Resumen

La arquitectura de controles extensores de ASP.NET hace muy facil encapsular y reusar funcionalidad UI. VS 2008 hace incluso más fácil aprovechar esta característica, y veréis que funciona muy bien con el APS.NET AJAX Control Toolkit.

Podeis aprener más sobre estos extensores y sobre el AJAX Control Toolkit con algunos de estos libros que han salido hace muy poco:

Hace poco vimos un post sobre enlaces de interes, y entre ellos había enlaces sobre ASP.NET AJAX y el AJAX Control Toolkit.

Para aprender más sobre cómo crear nuestros controles extensores de AJAX, os recomiendo que leais estos artículos:

Espero que sirva

Scott.

Traducido por: Juan María Laó Ramos. Microsoft Student Partner.

toH tlhIngan Hol DajatlhlaH ‘e’ DaneH’a’?

0 comentarios sobre “Usando los ASP.NET AJAX Control Extender en VS 2008”

  1. Hice todo lo que dice ahi y no aparece nada al contrario se desaparecio mi otro control pero creo que si es como dicen solo que no se que me este fallando de todas formas gracias la informacion si es util.

  2. Hola
    todo me sale bien.. ahora mi pregunta es…
    ¿como hago para que solo seleccione años nada mas?
    sin dias ni meses solo un año ejem: «2012»

    ayudenme pls
    gracias

  3. Hola, tengo una dudita que espero me la puedan solucionar por favor

    tengo un aplicativo de asp.net en el cual estoy manejando AJAX.

    ya tengo el calendario, en el cual puedo realizar reservas, las cuales se almacenan el la base de datos, hasta aca no tengo problema, el problema se da cuando voy a crear otra reserva en el calendario, debido a que me deja colocar la tarea encima de la que ya habia, es decir no me valida que ya hay un dato almacenado hay.

    la duda es que si alguien me puede colaborar para que cuando yo agrege la tarea, no me sobre escriba la tarea anterior, osea que me respete el espacio que ya habia antes usado.

Deja un comentario

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