Facultad de Estadística e Informática
BASES DE DATOS AVANZADAS
MVC – Clase 19 MODEL VIEW CONTROLLER
Referencias Microsoft Virtual Academy. (9 agosto de 2014). Introduction to ASP.NET MVC. Obtenido de: https://mva.microsoft.com/en-US/training-courses/introduction-to-asp-net-mvc-8322?l=nKZwZ8Zy_3504984382
Rick Anderson. (28 sep de 2015). Getting Started with ASP.NET MVC 5. Obtenido de https://docs.microsoft.com/en-us/aspnet/mvc/overview/getting-started/introduction/getting-started
Nemanja, Kojic. ASP.NET MVC 5. Introducing ASP.NET MVC5. Microsoft. Obtenido de http://rti.etf.bg.ac.rs/rti/si3iep/vezbe-2014/ASP%20.NET%20MVC.pdf
Ajustando la aplicación CONSTRUYENDO SISTEMAS WEB EN ASP.NET
Modelo
Vista Controlador
Edit Actions - MoviesController.csMétodo Edit( )
Edit Actions
Métodos Http – Mejores prácticas Métodos HttpGet y HttpPost con sobrecargas (overload)
Todos los métodos que modifican datos DEBEN usar el método sobrecargado HttpPost,
Modificando datos en el método HttpGet ◦ Riesgo de seguridad ◦ Viola las mejores prácticas HTTP ◦ Viola el patrón de arquitectura REST
Método GET NO DEBE tener ningún efecto secundario y NO DEBE modificar datos persistentes
Controlador MoviesController.cs Método Details
Validación de datos Reglas de validación declarativas en un solo lugar (Clase Modelo) ◦ Expresiones regulares ◦ Required validation ◦ Range validation ◦ Lenght validation ◦ NULL values validation ◦ Data formatting
Reglas de validación se validan antes de salvar los cambios en la base de datos (En el código, por ejemplo en el método Edit)
Atributos DataType •Solo para dar pautas al motor de Vista y formatear los datos presentados •Date, Time, PhoneNumber, EmailAdress,.. Entre otros •Provisión automática de características específicas. Por ejemplo, “mailto: …” link para EmailAdress •NO ofrecen ninguna Validación (solo presentación)
Reglas de validación - Modelo
public ActionResult Edit([Bind(Include = "ID,Title,ReleaseDate,Genre,Price")] Movie movie) { if (ModelState.IsValid) { db.Entry(movie).State = EntityState.Modified; db.SaveChanges(); return RedirectToAction("Index"); } return View(movie); }
Reglas de validación - Vista
Reglas de validación - Vista
Reglas de validación - Vista
Reglas de validación - Controlador