Cuando uno lleva mucho tiempo trabajando con el clásico paradigma de N capas
planteado al estilo .NET y trata de ir al mundo del MVC (también de .NET) se
encuentra con que las clásicas variables de sesión son poco usadas y en su
lugar se usan TempData y ViewData. Aunque en un principio los nombres son algo
descriptivos, estos mismos también son confusos, por lo que me han dado más de
un dolo de cabeza al querer usarlo y más al tratar de entenderlos.
Antes de pasar a explicar el funcionamiento de cada uno de estos debo aclara
que Session aún existe, ahora paso a la explicación.
TempData, ViewData y Session funcionan igual en lo que se refiere a la forma
de guardar información, todo son pares key - value.
TempData guarda la información solo durante el Request actual y el
siguiente, muy útil cuando necesitas pasar data en redirecciones a páginas de
error.
ViewData guarda la información solo durante un Request, más específicamente
durante el camino Vista - Controlador (y viceversa), muy útil para mostrar
mensajes de confirmación.
Session sigue trabajando igual, guarda datos que están disponibles durante
toda la sesión de cliente.
Saludos,
Giank
martes, 16 de octubre de 2012
lunes, 15 de octubre de 2012
LinQ To SQL y los archivos dbml
Linq To Sql es un ORM ligero, con soporte para Linq (Tecnologia .NET) integrado. Un ORM es un componente de software que se encarga de hacer el mapeo de una BD relacional a clases/objetos.
Como en todo trabajo con .NET existe una herramienta visual para hacer este trabajo y es realmente útil, en unos minutos podemos tener toda nuestra BD, relaciones incluidas, mapeada en nuestro sistema sin mayor esfuerzo.
Los pasos para trabajar con LinQ to SQL son simples:
Saludos,
Giank
Como en todo trabajo con .NET existe una herramienta visual para hacer este trabajo y es realmente útil, en unos minutos podemos tener toda nuestra BD, relaciones incluidas, mapeada en nuestro sistema sin mayor esfuerzo.
Los pasos para trabajar con LinQ to SQL son simples:
- Se agrega al proyecto un archivo de clases de LinQ to SQL, extension dbml.
- En el explorador de servidores realizamos un conexión a la BD de nuestro sistema.
- Agregamos todas las tablas que necesitemos de nuestra al archivo dbml, esto se hace solo "jalando" las tablas al archivo.
- Nombramos nuestras tablas con los nombres que queramos que tengan las clases en nuestro sistema.
- y listo!
Saludos,
Giank
ActionLink a otro controlador
Siempre hay cosas nuevas que aprender y hoy he aprendido mucho de MVC2. Entre todo mi trajín del día, haciendo el proyecto de DSD, me topé con la necesidad de llamar a un controlador diferente al que manejaba una vista determinada. Busque un rato entre las sobrecargas del método ActionLink, pero no encontré nada que calzara al 100% con mi necesidad, al final me aventuré por un constructor con 5 parámetros y como no tenia idea de que pasarle al último le di un null.. y ¡ohh sorpresa!, funcionó; se hizo una llamada a un controlador diferente al asociado con la vista en la que trabajaba en ese momento. El constructor es este:
Html.ActionLink("TextoDelLink", "NombreDelAction", "NombreDelControlador", new { NombreParametro1 = Valor1, NombreParametro2 = Valor2, etc, etc }, null)
Como "bonus track" para este post, agrego que este método no reconoce entre sobrecargas de métodos en el controlador al que se llame.
Saludos,
Giank
Html.ActionLink("TextoDelLink", "NombreDelAction", "NombreDelControlador", new { NombreParametro1 = Valor1, NombreParametro2 = Valor2, etc, etc }, null)
Como "bonus track" para este post, agrego que este método no reconoce entre sobrecargas de métodos en el controlador al que se llame.
Saludos,
Giank
Suscribirse a:
Entradas (Atom)