Helpers en ASP.NET MVC3. Introducción Los helpers son una herramienta muy potente para generar nuestro propio código HTML dentro de las vistas. Los helpers.

Slides:



Advertisements
Presentaciones similares
El mecanismo básico de interacción entre el usuario y un sitio web esta dado por el uso de formularios html. El server envía un formulario que el browser.
Advertisements

Archivos de Texto. Introducción Los archivos son una secuencia de bits que se guarda en el disco duro. La ventaja de utilizar archivos es que los datos.
PROGRAMACIÓN CON VISUAL BASIC.
Tablas. Descripción general Introducción a las tablas Creación de tablas Uso de tablas.
Modemmujer, Red Feminista de Comunicación Electrónica.
Al abrir el Access aparece una ventana para crear una base en blanco, con la ayuda de un asistente o abrir una existente. Al principio optamos por la primera.
Aprendizaje de Microsoft® Access® 2010
Access Bases de datos.
Arquitectura CLARO-TECNOTREE
Estructuras de control
SISTEMA DE NACIMIENTOS MANUAL DEL USUARIO. El objetivo del presente manual es servir de guía al usuario final para interactuar con el Sistema, permitiéndole.
OBJETO REQUEST. El objeto Request Por qué el objeto request Funcionamiento Colecciones: – Transferencia de variables por URL –Transferencia de variables.
Informática II Prof. Dr. Gustavo Patiño MJ
Los condicionales IF en PHP Programación en Internet II.
Laboratorio 7 Paginas Dinámicas Universidad de Chile – Bachillerato Curso: Computación Cristian Wilckens Patricio Bahamondes Fecha: 28 de Mayo del 2010.
Métodos Algoritmos y Desarrollo de Programas I. Cuando utilizar métodos  Los métodos se utilizan para romper un problema en pedazos de forma que este.
APLICACIONES DE PILAS Estructuras de Datos.
Clases y objetos La unidad fundamental de programación OO son las clases. Conjunto de métodos y semántica Qué se va a hacer POO Clase: que define la implementación.
Tema 6: Clases Antonio J. Sierra.
Igor Santos Grueiro. Ahora tenemos datos y datos …
Ingeniero Anyelo Quintero
Semana 5 Subprogramas..
Almacenar variables en cookies en PHP
Constantes en PHP Programación en Internet II. Constantes en PHP Programación en Internet II Universidad de Guadalajara | Centro Universitario de la Costa.
UNIDAD 2:Crear, abrir y cerrar una base de datos Hacer clic sobre la opción Nuevo de la pestaña Archivo. Se mostrarán las distintas opciones para nuevos.
PHP TODO SOBRE PHP.
Else Elseif en PHP Programación en Internet II. Else Elseif en PHP Programación en Internet II Universidad de Guadalajara | Centro Universitario de la.
Fundamentos de bases de datos:
Para crear relaciones en Access 2010 deberemos: - Pulsar el botón Relaciones de la pestaña Herramientas de base de datos. - O bien, desde el botón de.
Control de errores visual basic
Ing. Elkin José Carrillo Arias
Operadores lógicos en PHP Programación en Internet II.
Pantalla de acceso El usuario podrá ingresar por la dirección ¨ y tendrá acceso al sistema luego de ingresar el usuario y contraseña.
FILTROS. Un filtro es un programa que recibe una entrada, la procesa y devuelve una salida. Relacionando filtros simples podemos hacer prácticamente cualquier.
Paper 418/ May/June Task C – data maniputation - ACCESS Lo primero que hay que hacer el IMPORTAR el archivo SCA6MOB.CSV que nos bajamos de Internet.
Tema 2: Base de datos relacionales
Clase 6 Curso Microsoft.NETCurso Microsoft.NET I.S.F.T. N° 182I.S.F.T. N° 182.
Ihr Logo PHP Parte 4 “manejo de formularios”. Your Logo Formularios  El proceso para el manejo de FORMULARIOS html requiere generalmente dos páginas,
VALIDACIÓN PARA LA CLAVE DE ACCESO En el formulario de la clave de acceso debe haber una validación básica de que los campos no este vacíos y además puede.
Bases de Datos.
Validaciones de datos en PHP Programación en Internet II.
Vamos a tratar algunos temas que es necesario conocer a la hora de administrar un sistema informático y que nos van a ser útiles sin importar el sistema.
INTRODUCCION A LA PROGRAMACION
NOMBRE: KENIA MACÍAS. RECOMENDACIONES PARA HACER UN FORMULARIO En un sistema web, en muchas ocasiones es necesario obtener información del usuario y para.
PHP con Bases de Datos Tema 5 Funciones Introducción Valor de una Función Función para obtener fecha actual. Documentación de Funciones Funciones de Usuario.
MANUAL DE EXCEL.
Google Talk y Google Docs
Capítulo 2 “Subprogramas/Funciones - Arreglos”
Tema 11 Bases de Datos y el Lenguaje SQL
Introducción a phpMyAdmin
Práctica Profesional PHP.
BASE DE DATOS EBSCO HOST “CENTRO DE RECURSOS PARA EL APRENDIZAJE Y LA INVESTIGACIÓN CÉSAR ACUÑA PERALTA” UCV.
Manual PHP Básico Camilo Cartagena.
 Las funciones son un conjunto de instrucciones que realizan una tarea específica. En general toman unos valores de entrada, llamados parámetros y proporcionan.
¿Cómo programar un Botón para agregar registros a una base de datos?
Desarrollador Profesional de Juegos Programación III Unidad I Excepciones Tipos.
2015-BM5A. Introducción Durante años, los programadores se han dedicado a construir aplicaciones muy parecidas que resolvían una y otra vez los mismos.
Estructuras de control selectivas Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión Práctica 3.
1 Métodos. 2 Un método es un conjunto de instrucciones definidas dentro de una clase, que realizan una determinada tarea y a las que podemos invocar mediante.
Helpers en ASP.NET MVC3. Introducción Los helpers son una herramienta muy potente para generar nuestro propio código HTML dentro de las vistas. Los helpers.
Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Práctica 4 Versión Diseño de tipos Igualdad, representación, código,
Introducción a programación web Martin Esses. Formularios HTML se utilizan para pasar datos a un servidor. Un formulario HTML puede contener elementos.
Las interfaces Predicate y Function Versión Unidad Didáctica 17 Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos.
Prof. Manuel B. Sánchez.  El origen del término polimorfismo es simple: proviene de las palabras griegas poly (muchos) y morphos (forma) multiforme.
Introducción a programación web Martin Esses. Los datos almacenados en las bases de datos normalmente son mostrados en nuestras vistas. Para que nuestras.
1 Clase 6: control (1ª parte) iic1102 – introducción a la programación.
Equipo de Profesores del Curso. Funciones de Texto.
Introducción a programación web Martin Esses. En las presentaciones anteriores, vimos como enviar datos a un controlador usando POST y como generar formularios.
Helpers en ASP.NET MVC.
Helpers en ASP.NET MVC.
Transcripción de la presentación:

Helpers en ASP.NET MVC3

Introducción Los helpers son una herramienta muy potente para generar nuestro propio código HTML dentro de las vistas. Los helpers nos van a permitir crear campos en un formulario de una manera muy cómoda.

Introducción Lo primero que vamos a ver es como crear un campo HTML para editar (o mostrar) una propiedad específica del model que recibe la vista. Supongamos que tenemos esta clase: public class Trabajador{ public string Nombre { get; set; } public string Apellido { get; set; } public DateTime FechaNacimiento { get; set; } public double Sueldo { get; set; } public bool Activo{ get; set; } }

Introducción Ahora vamos a crear una vista que muestre cuatro campos de texto (para nombre, apellido, fecha de nacimiento y sueldo) y una casilla de verificación para indicar si es fijo o no. Pero en lugar de crear los controles a mano ( ) vamos a usar los Trabajador Fecha => x.Sueldo) Es

Helpers Estamos usando los helpers! Html.TextBoxFor que muestra un campo de texto para la propiedad indicada Html.CheckBoxFor que muestra una casilla de verificación para la propiedad indicada Hay un helper por cada control HTML que habitualmente usamos en formularios, como por ejemplo Html.TextAreaFor, Html.LabelFor, Html.DropDownListFor, etc. ¿Cómo se indica a cada helper que propiedad debe renderizar el Con esto logramos que cuando el formulario le envíe la información al ActionMethod del controller esta pueda ser recibido en un objeto de tipo Trabajador.

Helpers El parámetro en forma x=>x.Nombre es una expresión lambda. La ventaja de usar una expresión lambda antes que una cadena (algo como TextBoxFor("Nombre")) es que las expresiones lambda son evaluadas en tiempo de compilación y no de ejecución (si nos equivocamos en el nombre de la propiedad el código no compila). Esto requiere que la vista sea tipada con el tipo de ViewModel (ver en el uso la

Como recibe el controller los datos del form? [HTTPPost] Public ActionResult EdicionTrabajador(Trabajador UnTrabajador) { // Aca puedo hacer lo que quiera con el objeto, por ejemplo: UnTrabajador.Modificar(); // Incluso puedo enviar los datos del objeto a otra vista, de la siguiente manera: Return View(“DetalleTrabajador”,UnTrabajador); } Como mostramos los datos en la vista DetalleTrabajador?

Vista del detalle enviado

Helpers También podemos utilizar un helper para la creación del [Controller], [Method]) { } Al usar BeginForm() debemos tener un poco más de cuidado con Razor. La razón es que Razor interpreta que debe ejecutar el código que se encuentra entre las llaves. Por supuesto, Razor es lo suficientemente inteligente para "ignorar" el código HTML (como ) pero no el texto plano. Es decir, Razor intentará ejecutar el código Apellido: (o Es Activo:) que un código totalmente inválido en C#, de ahí el error. Para eso podemos reemplazarlo utilizando Html.Label

Helpers ¿Y qué ventajas obtenemos utilizando Helpers? Siguiendo la clase creada anteriormente, al ejecutarlo verán que los helpers también manejan los mensajes de error: El sistema nos mostrará un error si FechaNacimiento o Sueldo están vacíos. ¿Y por qué esos dos campos y no los otros? Muy sencillo: porque esos dos campos están declarados como DateTime y double que son tipos que requieren un valor y por lo tanto nunca pueden valer nulo o vacío. Esto en realidad, más que una validación, es un manejo de errores.

Helpers Hay muchos más casos en los que nos puede interesar decirle al usuario que los datos ingresados son incorrectos: Por ejemplo: Campos Obligatorios Cadenas con un determinado formato (un ) Dos campos que deben ser iguales (contraseña y repetir contraseña) Valores que deben estar dentro de un determinado rango (puntuación del 1 al 10)

Helpers – Validación de datos ModelState: El ModelState es un objeto, gestionado por el framework de ASP.NET MVC que indica cual es el estado del modelo. Contiene una propiedad llamada IsValid que nos indica si el modelo es correcto, es decir, si no hay errores. [HttpPost] public ActionResult EdicionTrabajador(Trabajador UnTrabajador) { if (!ModelState.IsValid) { return View(UnTrabajador); } else { return View(“DetalleTrabajador”); } }

Helpers – Validación de datos Que el ModelState no sea válido significa que alguna entrada del usuario no es correcta, por lo tanto devolvemos de nuevo la vista que contiene el formulario con los datos. Si el ModelState es válido eso significa que las entradas del usuario son correctas por lo que procedemos a realizar la acción que querramos.

Helpers – Validación de datos Hasta ahora vimos el mecanismo que utiliza el framework de MVC para indicarnos que hay algún error. Ahora vamos a ver cómo podemos añadir nuestras validaciones a este mecanismo. Aunque ASP.NET MVC es muy flexible en este punto, vamos a ver la forma más común de hacerlo: usando DataAnnotations. (necesitamos hacer un using con System.ComponentModel.DataAnnotations y otro con System.Web.Mvc ) Para añadir validaciones usando DataAnnotations simplemente debemos completar la propiedad que deseemos con alguno de los siguientes atributos

Helpers – Validación de datos Por ejemplo, si tenemos la siguiente Clase: public class DemoModel { public string Nombre { get; set; } public int Edad { get; set; } } Podemos hacer que Nombre sea obligatorio agregando el atributo [Required]: public class DemoModel { [Required] public string Nombre { get; set; } public int Edad { get; set; } }

Helpers – Validación de datos ¡Y listos! Solo con añadir el atributo Required, el framework sabe que el Nombre es requerido y si el usuario no lo ingresa se mostrará un error: (Modelstate devolverá false en su propiedad IsValid)

Helpers – Validación de datos ¿Cómo hicimos para mostrar el mensaje de error al lado del campo? Pues con un helper del que todavía no habíamos hablado: @Html.ValidationMessageFor(x => x.Nombre)

Helpers – Validación de datos ¿Cómo validamos el texto del mensaje de error? El mensaje que vemos es el que genera el framework por defecto, pero podemos modificarlo por uno nuestro usando la propiedad ErrorMessage que tienen todos los atributos de validación: Lo hacemos al crear la validación en la clase public class DemoModel { [Required(ErrorMessage = "¡Aquí todo el mundo tiene un nombre!")] public string Nombre { get; set; } public int Edad { get; set; } }

Helpers – Validación de datos Hay varios atributos para distintas validaciones y todos se usan igual: anticipando a las propiedades. Si tu aplicación exige que sus usuarios tengan entre 18 y 65 años, se puede usar Range: StringLength: Para limitar el número de caracteres de un campo texto (p.ej. el password debe tener entre 6 y 15 caracteres). Compare: Para que dos campos tengan el mismo valor (p.ej. password y repetir password) RegularExpression: Para validar contra una expresión regular

Helpers – Validación de datos public class DemoModel { [Required(ErrorMessage = “Nada de anónimos. ¡Aquí todo el mundo tiene un nombre!")] public string Nombre { get; set; } [Range(18,65, ErrorMessage = "Solo mayores de edad no jubilados")] public int Edad { get; set; } [StringLength(6,15, ErrorMessage = "Flaco, mas de 6 letras y menos de 15")] public string password; }