ASP.NET Dynamic Data y AJAX TOOLKIT (Parte I)

Los proyectos web creados con ASP.NET Dynamic Data ahorran en grandes cantidades la codificación de cosas como hacer mantenimientos a tablas (altas, bajas, editar) y asu vez implementa automaticamente las caracteristicas de las bases de datos pues si tengo una tabla que depende otra por un FK pues automáticamente me crea el campo como un dropdowslist para esa como por ejemplo si tengo una tabla categorias y una tabla productos y mi tabla productos  tiene un FK hacia el PK de la tabla Categorias pues me crea un campo para filtrar por categorias los productos y cuando quiero agregar o editar tambien me agrega el dropdownlist para seleccionar la categoria en la parte de productos y lo hace de forma automática.

Bueno no trato de explicar como se hace un proyecto de ASP.NET Dynamic Data, pues ya esta escrito en varios sitios pero aqui uno en catellano en el blog de Jhonnys López Celedon – Microsoft .NET pero lo que voy a explicar ahora es como hacer que el AJAX TOOLKIT trabaje con este tipo de proyectos ya que por ejemplo un campo DateTime lo muestra como un textbox, cosa que es muy complicado de trabajar para el usuario, lo que queremos es que salga un DateTimePicker para que el usuario asi pueda trabajar con mas flexibilidad las fechas, pues para eso esta el AJAX TOOLKIT que implementa ya un control calendar de ese tipo pero existen algunas cosas con las que me he topado.

Primero hay que descargarlo e instlarlo en nuestra barra de controles de VS, la descarga esta en CODEPLEX alli descargas y la instalacion la realizas agregando los controles a la barra de herramientas de VS dandole boton derecho a la barra de herramientas y seleccionando en la carpeta que extraistes el AJAXTOOLKIT la DLL AjaxControlToolkit.dll y te agrega los controles de esa libreria.

Para que funcionen estos nuevos controles en una pagina web tienes que usar un ToolkitScriptManager pues sin ello no funciona, pero si lo colocas en alguno de los masterpage de tu proyecto ASP.NET Dynamic Data te va a saltar un error que dice algo como “solo se puede usar un ScriptManager por pagina” eso sucede por que las aplicaciones de este tipo implementan ya un script manager en el Site.master del proyecto asi que tienes que ir a al site.master y borrar ese scriptmanager y colocar el de ajaxtoolkit que lo arrastas desde la barra de controles hacia el archivo jsusto enla posicion en que estaba el anterior scriptmanager (personalmente lo hago en la vista de codigo del html) y con eso funcionarian tus controles, una cuestio mas es que seria mejor cambiar el TagPrefix=”asp” del ajaxtoolkit por otro cualquiera.

Ahora para hacer lo que queria poner el datetimepicker pues vamos a tener que editar los fieldtemplates del proyecto pues queremos que al momento de editar un tipo de dato datetime se muestre nuestro calendar del ajaxtoolkit pues vamos al DateTime_Edit.ascx y lo editamos, lo que veraz es algo como esto:

Luego desde la vista de codigo tienes que jalar el control calendar (el del ajaxtoolkit) y queda como esto:

Si te fijas el control calendar que he agregado tiene como tag AjaxControlToolkit pues esa etiqueta fue la que le puse como tagprefix a mi scriptmanager y tambien tiene  un TargerControlID=”TextBox1″ que es que le indica que cada vez que se ingrese al control textbox1 se muestre nuestro calendar y que cuando se seleccione un valor en el mismo este se carge en el control textbox1, grabamos y con eso ya tenemos nuestra pagina funcionando para todos los controles que vengan de un datetime pues simpre se mostrara de esa manera.

 

 

 

 

Bueno con esto termino la primera entrega de esta tecnologia y espero postear algo mas en la medida que me de el tiempo y tambien cuando vaya aprendiendo mas.

 

Acerca de

Antes que nada voy a dejar en claro algo, en este blog escribo como se me place, asi que no busquen errores de ortografia o de redaccion que los van a encontrar a montones y tampoco me critiquen o me digan nada sobre ellos pues no tengo intencion alguna de cambiarlos, lo que escribo lo dejo asi y no lo corrijo,claro esta a menos que sean lineas de codigo. Jorge Prado Anci, profesional en desarrollo de aplicaciones, en especial las dirigidas a bases de datos. He trabajado con VFP en casi todas sus versiones, se algo de Java (que no me gusta, es eso solo no me gusta, es bueno pero no me gusta), lo suficiente de PHP como para tener mi propio CMS(es que sigue sin gustarme por la capacidad de desorden que te permite este “lenguaje”), VB lo conoci y lo deteste tanto que lo olvide al punto de no querer adoptar ni por obligacion a su reemplazante VB .NET (por lo mismo de Java) y si C# este si me encanta y aun que conozco bastante bien el lenguaje, la verdad es que me falta mucho del Framework (del 100% estare en un 65%). Soy un apasionado por el orden (en los proyectos de desarrollo), de la programacion en capas (de MVC conozco pero no he aplicado mucho), los estandares y las condenadas pruebas unitaria. Venga creo que ya con esto fue suficiente.

Tagged with: , , ,
Publicado en AJAX, c#

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

Escribe tu dirección de correo electrónico para suscribirte a este blog, y recibir notificaciones de nuevos mensajes por correo.

Únete a otros 441 seguidores

Blog Stats
  • 304,137 hits
A %d blogueros les gusta esto: