Ver por etiquetas

Todas las etiquetas » asp.net » desarrollo (RSS)

ASP.NET MVC: Textarea con maxlength

Hace cerca de un año ya vimos por aquí cómo crear cuadros de edición de de extensión limitada , o en otras palabras, tags <input type="text" … /> con el atributo Maxlength establecido, con objeto de evitar la introducción de textos más extensos de lo indicado en las restricciones StringLength del Modelo. En este post vamos a implementar la misma funcionalidad, pero sobre áreas de texto (tag <textarea> ), de forma...
Publicado por José M. Aguilar | 2 comment(s)

Glimpse: cómo crear plugins, paso a paso

Ya estuvimos viendo la herramienta Glimpse , un interesantísimo complemento que nos puede ayudar bastante a depurar nuestras aplicaciones, ofreciéndonos una visión muy completa de lo que ocurre en el servidor desde que recibe una petición hasta que la responde. Pero además de ser una utilidad imprescindible, una de sus características más interesantes es que puede ser extendido con suma facilidad. En este post vamos a ver cómo crear un plugin...

ASP.NET MVC 3 y la coma en los decimales

Si a día de hoy hay algo fatalmente poco resuelto en ASP.NET MVC, es sin duda la localización . Aunque con un poco de paciencia se pueden poner en marcha sistemas completamente adaptados a distintos idiomas y culturas, la verdad es que se echa en falta una mayor consideración, entre otros, con los que osamos utilizar la coma para separar la parte entera de la decimal en un número. Hace tiempo traté el tema por aquí, y aporté una solución para...

ASP.NET MVC: Nombres de acciones y controladores más amigables

La ruta por defecto de ASP.NET MVC es válida para la gran mayoría de escenarios simples, permitiéndonos acceder a las acciones a través de URLs del tipo http://{servidor:puerto}/{controlador}/{accion} Así, dada una clase controlador con acciones como las siguientes: public class InformacionCorporativaController : Controller { public ActionResult QuienesSomos() { return View(); } public ActionResult MisionVisionYValores() { return View(); } public ActionResult UneteANuestroEquipo...
Publicado por José M. Aguilar | con no comments

Retornar vistas dependiendo de la cultura actual en ASP.NET MVC

ASP.NET MVC utiliza los mismos mecanismos de ASP.NET para la implementación de sitios web localizados, por lo que podemos utilizar los clásicos recursos definidos en la carpeta App_GlobalResources para ir componiendo los interfaces. De esta forma, los literales de texto de las vistas son sustituidos por expresiones que, ya en tiempo de ejecución, son tomadas del archivo de recursos correspondiente al idioma actual: Sin embargo, recientemente me he encontrado con un escenario...
Publicado por José M. Aguilar | con no comments

Compilación de vistas ASP.NET MVC y el error “No se pudo cargar el tipo EntityDesignerBuildProvider”

Hacía tiempo que no activaba la compilación de vistas en ASP.NET MVC. La verdad es que si no tienes una máquina potente ralentiza bastante la construcción de las soluciones, pero ahora que la tecnología está de nuevo de mi lado, pensé que sería buena idea activarla en un proyecto MVC 3 y resulta que me he topado con el siguiente error de compilación: No se pudo cargar el tipo 'System.Data.Entity.Design.AspNet.EntityDesignerBuildProvider'...
Publicado por José M. Aguilar | con no comments

Serialización y deserialización Json en MVC 3

Hace unos días hablaba de ObjectInfo y ServerInfo , dos helpers presentes en System.Web.Helpers , un componente compartido por ASP.NET MVC 3 y WebPages. Hoy vamos a revisar la clase estática Json , también definida en dicho espacio de nombres, que podemos utilizar para codificar objetos en formato JSON ( JavaScript Object Notation ) y viceversa, crear instancias de objetos partiendo de un texto JSON. El primero de los sentidos, CLR—>JSON, no es algo que no pudiéramos...

WebGrid en modo Ajax con MVC 3

En posts anteriores hemos hablado sobre el helper WebGrid ( aquí y aquí ), y las facilidades que nos ofrece a la hora de crear rejillas de datos con paginación y ordenación. En todos los ejemplos que vimos, cada cambio de página o de criterio de ordenación forzaba una recarga completa de la vista, lo cual es bastante correcto y válido en la mayoría de escenarios. Sin embargo, WebGrid también ofrece la posibilidad de recargar (al menos...
Publicado por José M. Aguilar | con no comments

WebGrid en MVC 3, paso a paso (y II)

Días atrás comentábamos por aquí cómo utilizar el helper WebGrid de MVC 3 para crear rejillas de datos, partiendo de un ejemplo muy sencillo, apenas un par de líneas de código, e introduciendo sucesivas mejoras hasta llegar a un interfaz bastante aceptable para manejar conjuntos de datos con paginación, ordenación, y columnas personalizadas. Sin embargo, también comentábamos que la pasmosa simplicidad con la que podíamos...
Publicado por José M. Aguilar | 2 comment(s)

WebGrid en MVC 3, paso a paso

Una de las preguntas que recibo con más frecuencia vía formulario de contacto en el blog, en sus comentarios, y en los cursos de MVC es cómo implementar grids, las habituales rejillas de datos que se suelen utilizar en interfaces de gestión de datos, con capacidades de paginación y ordenación. Dado que hasta MVC 3 no había un soporte oficial para implementar esta funcionalidad desde la propia plataforma, nos veíamos obligados a buscarnos un...
Publicado por José M. Aguilar | 2 comment(s)

Generación de atributos con guiones en helpers MVC 3

Desde la primera versión de ASP.NET MVC se permite añadir a la mayoría de los helpers que generan etiquetas HTML atributos personalizados. Para ello, se introducían objetos anónimos cuyas propiedades eran transformadas a atributos en el momento del renderizado, como en el siguiente ejemplo: Este código generaría el siguiente marcado: Ahora que se van a poner muy de moda los atributos personalizados al estilo HTML5, como los “data-xxxx”...
Publicado por José M. Aguilar | con no comments

ObjectInfo y ServerInfo en MVC 3

En el nuevo ASP.NET MVC 3 me he topado con dos helpers que no conocía y que, a pesar de su sencillez, en ocasiones pueden resultar bastante interesantes: ObjectInfo y ServerInfo . Vamos a verlos muy rápidamente. ObjectInfo El primero de ellos puede sernos útil cuando queremos volcar el contenido completo de un objeto sobre la página, por ejemplo cuando estemos depurando. La forma general de utilización es la siguiente: ObjectInfo.Print(objeto, profundidad, elementos_enumeracion...
Publicado por José M. Aguilar | con no comments

ViewBag en ASP.NET MVC 3

Las versiones 1 y 2 de ASP.NET MVC permitían el paso de datos desde el Controlador a la Vista a través del diccionario ViewData , de la siguiente forma: Y ya desde la vista, podíamos recuperar el valor así: ASP.NET MVC 3 sigue manteniendo este comportamiento, pero ha añadido un mecanismo adicional para facilitar esta tarea: el ViewBag . Se trata de un objeto dinámico disponible tanto en los controladores como en las vistas, sobre el que podemos ir definiendo...
Publicado por José M. Aguilar | 2 comment(s)

Validación de peticiones en ASP.NET, o cómo evitar el error “Request.Form peligroso”

La validación de peticiones es un mecanismo integrado en ASP.NET que evita la entrada al sistema de valores considerados “peligrosos” para su integridad, como tags y otros elementos utilizables para la inyección de scripts (XSS) o introducción de valores no controlados. Dado que está implementado a nivel de plataforma ASP.NET, los valores recibidos en parámetros de entrada son vigilados con ASP.NET MVC, WebForms e incluso WebPages (la tecnología...

Formularios con autoguardado en ASP.NET MVC

ASP.NET MVC, por su natural integración con Ajax, es un candidato perfecto para implementar software al “estilo 2.0”, consiguiendo efectos sorprendentes y nuevas formas de interacción con el usuario desde la web similares a las que nos ofrecen aplicaciones como GMail o Blogger. En este post vamos a ver cómo implementar un formulario con auto-salvado, es decir, capaz de ir enviado su contenido al servidor periódicamente con objeto de evitar la pérdida...

Referenciar scripts, estilos y otros recursos desde vistas MVC

Una cuestión que consultan frecuentemente los alumnos del curso de MVC que tutorizo en CampusMVP , y que veo en los foros oficiales del framework trata sobre el uso correcto de rutas hacia recursos utilizados por las páginas, como scripts, estilos o imágenes. Unas referencias erróneas hacia las páginas de estilo o imágenes pueden hacer que un sitio web, o parte de éste, deje de visualizarse correctamente; en el tema de scripts es más grave pues...

¿Un ViewState en ASP.NET MVC?

Esta cuestión, lanzada por un amigo de Variable not found en Facebook , comenzaba un pequeño e interesante debate hace algún tiempo, tras la publicación del enlace al post Persisting model state in ASP.NET MVC using Serialize HTMLHelper , en el que se describía la posibilidad de mantener el estado entre peticiones utilizando un mecanismo similar al infame ViewState de Webforms. Esta herramienta, como otras muchas, se encuentra en el proyecto MvcFutures, un ensamblado...
Publicado por José M. Aguilar | 3 comment(s)

Saltarse las validaciones del lado cliente en ASP.NET MVC

Las validaciones automáticas de ASP.NET MVC son una fórmula muy útil y productiva de comprobar los datos introducidos por nuestros usuarios. Como sabemos, basta decorar las propiedades de las entidades del Modelo con atributos que indiquen las restricciones a aplicar en cada caso, y el framework MVC se encargará del resto, incluso en la capa cliente . Como sabemos, el sistema de validación es capaz de generar scripts capaces de comprobar en cliente que los datos...

Controladores todavía más automáticos

Hace algún tiempo experimentábamos con controladores capaces de implementar automáticamente la lógica de acciones cuya misión era únicamente retornar la vista por defecto. Así, partíamos de un controlador como el siguiente: public class HomeController: Controller { public ActionResult Index() { return View(); } public ActionResult Company() { return View(); } public ActionResult Services() { return View(); } public ActionResult Contact() { return...
Publicado por José M. Aguilar | 2 comment(s)

Controladores automáticos en ASP.NET MVC

Aunque las convenciones propuestas por el framework ASP.NET MVC nos ayudan a estructurar nuestras aplicaciones y, la mayoría de veces, a ser más productivos, de vez en cuando también nos obligan a introducir código repetitivo para respetar el patrón propuesto. Por ejemplo, en el caso de controladores con acciones que retornan la vista por defecto, solemos utilizar un código como el siguiente: public class HomeController: Controller { public ActionResult Index...
Publicado por José M. Aguilar | 2 comment(s)
Más artículos < Página anterior - Página siguiente >