Publicado el 1 de Noviembre del 2019
887 visualizaciones desde el 1 de Noviembre del 2019
1,1 MB
32 paginas
Creado hace 12a (19/09/2012)
DESARROLLO DE APLICACIONES
II
el
ASP.Net MVC
Creando
controlador
AdminPeliculasController
Mtro. Yonatan Eric Cruz Hernández
Agregando el controlador
• Siguiendo esta presentación podremos crear
el controlador AdminPeliculas que será la
clase que donde se podrán agregar nuevos
registros (películas), editarlos y eliminarlos,
posteriormente se definirá un rol de acceso a
este controlador.
• Agregamos el controlador AdminPeliculas:
• Agregamos el usign de Peliculas_4.Models;
• Declaramos una instancia de nuestro EntityModel
new
PeliculasEntities
llamado
PeliculasEntities();
db
=
• Crear la vista del Index que muestre la lista de
las películas, similar a la práctica anterior de
Géneros:
• Entonces el código de
la acción Index() queda:
Agregar el link en el Site.Master
• Agregamos el link en el archivo Site.Master
para agregar el botón Administrar:
• Ejecutamos el proyecto y
revisamos el
resultado:
Personalizando la vista
• Personalizamos el código de la vista generada
de tal manera que se vea como en la siguiente
imagen:
Resultado
Vista Index del controlador AdminPeliculas.
AHORA PREPÁRATE
Viene lo más interesante
Creando el formulario
• Vamos a crear el formulario para insertar un
nuevo registro.
• Creamos la acción Crear()
Si agregamos la vista
nos muestra el siguiente
resultado al depurar el
proyecto:
• En
nos
pide
este
caso
PeliculaId
(autoincrement), GeneroId (se tiene que
especificar el id del genero).
• Lo que necesitamos es No mostrar el campo
de PeliculaId y en lugar de GeneroId que nos
muestre una lista de los generos disponibles
para poder seleccionar el género de la película
a agregar.
¿CÓMO HACEMOS ESTO?
• Crear un modelo especial para la vista Crear y
Editar
controller
AdminPeliculas), porque ambas utilizarán el
mismo formulario.
(acciones
dentro
del
• Agregamos una carpeta llamada ViewModel a
nuestro proyecto:
• Debemos crear un nuevo modelo que será
una clase llamada: AdminPeliculasViewModel
dentro de la carpeta creada.
Código de AdminPeliculasViewModel
• El código de este modelo (clase) quedaría así:
de
la
• NOTA:
Después
clase
AdminPeliculasViewModel debemos volver a
generar el proyecto o compilar para usar la
clase como otro modelo más.
crear
• Agregar
el
Peliculas_4.ViewModel
AdminPeliculas.
espacio de nombres using
controlador
al
• Posteriormente la acción (método)
crear
quedará de la siguiente forma:
• Nota: Si creaste la vista Crear.aspx, elimina ese
archivo.
• Creamos la vista para la acción Crear() de la clase
Peliculas.ViewModel.AdminPeliculasViewModel
con contenido Create, esto para indicar que el
formulario será para crear un nuevo registro.
Si observas el código que se
genera, solo declara el formulario
y el botón SUBMIT, si lo ejecutas,
no mostrara los cuadros de texto
donde se ingresarán los datos.
entonces,
crear
Necesitamos
nuestra
para
editar o crear un objeto de la
clase Pelicula.
propia
plantilla
Para ello, creamos una carpeta
en
llamada
Views/Shared donde se encuentra
Site.Master.
EditorTemplates
• En esa carpeta
creamos una vista llamada
Pelicula (mismo nombre de la entidad).
• En crear vista, seleccionamos Crear una vista
datos
de
clase
Parcial
Peliculas_4.Models.Pelicula,
view Edit.
(.ascx),
de
contenido
• Al código generado le eliminamos algunas
partes, ya que solo necesitamos los campos de
texto necesarios, eliminando el
txt para
PeliculaId y el txt Disponible y generamos el
ListBox con la lista de los géneros, quedando
el código de la siguiente manera:
• Y el código de la vista Crear.aspx queda de la
siguiente forma:
vamos
• Ejecutamos,
a
Administrar,
elegimos
Registrar nueva película y
obtenemos:
• Ya
tenemos
nuestro
formulario para crear (lo
utilizaremos también para
editar), pero si intentamos
guardar no lo hará, ya que
no hay una acción que
tome los datos enviados
por el form.
Validando los datos
• Se necesita validar los datos ingresados por el
usuario, donde los campos no pueden ser null
o validar el tipo de dato ingresado.
• La validación deberá realizarse cuando el
usuario ingrese los datos.
• Vamos a crear una parte de la clase Pelicula
(partial class Pelicula). En la carpeta Models,
agregamos la clase llamada Pelicula.cs
• Y el código generado es similar al siguiente:
• Y para que la validación se realice en nuestro
formulario agregamos el siguiente código a la
vista Pelicula.ascx
• Nótese que Peliculas_4 es el nombre del
proyecto, modificarlo por el suyo.
• En la vista Crear.aspx reemplazamos el código
que valida el formulario:
<% using (Html.BeginForm()) {%>
<%: Html.ValidationSummary(true) %>
• Por el código que habilita la validación por el
lado del cliente (navegador):
<% Html.EnableClientValidation(); %>
<% using (Html.BeginForm()) {%>
• Si ejecutamos nuestro proyecto, nos situamos
en http://localhost:xx/AdminPeliculas/Crear e
ingresamos un título,
y
pasamos a otro txt, podremos ver que la
validación funciona.
lo eliminamos
• Ya que tenemos la validación, crearemos otra
función en el controlador que reciba los datos
por medio de POST (similar a GET), la acción
quedara así (debajo de la acción Crear()):
• Ejecutamos el proyecto y creamos un nuevo
registro, Listo, ya podemos crear nuevos
registros con validación de datos.
• Solo nos falta la acción de Editar y eliminar,
dicha acción utiliza el mismo formulario y la
validación creados.
Comentarios de: ASP.Net MVC - Desarrollo de aplicaciones II (0)
No hay comentarios