Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
por Scott Hanselman
En este tutorial para principiantes se presentan los conceptos básicos de ASP.NET MVC. Creará una aplicación web sencilla que lea y escriba en una base de datos. Visite el centro de aprendizaje de ASP.NET MVC para encontrar otros tutoriales y ejemplos de ASP.NET MVC.
En esta sección vamos a crear una nueva clase MoviesController, y escribir algo de código que recupere los datos de nuestra Película y los muestre de vuelta al explorador usando una plantilla Vista.
Haga clic con el botón derecho en la carpeta Controllers y cree un nuevo MoviesController.
Esto creará un nuevo archivo "MoviesController.cs" debajo de nuestra carpeta \Controllers dentro de nuestro proyecto. Actualicemos el MovieController para recuperar la lista de películas de nuestra base de datos recién rellenada.
using System;
using System.Linq;
using System.Web.Mvc;
using Movies.Models;
namespace Movies.Controllers
{
public class MoviesController : Controller
{
MoviesEntities db = new MoviesEntities();
public ActionResult Index()
{
var movies = from m in db.Movies
where m.ReleaseDate > new DateTime(1984, 6, 1)
select m;
return View(movies.ToList());
}
}
}
Estamos realizando una consulta LINQ para recuperar solo las películas estrenadas después del verano de 1984. Necesitaremos una plantilla Vista para volver a representar esta lista de películas, así que haga clic con el botón derecho del ratón en el método y seleccione Añadir vista para crearla.
Dentro del cuadro de diálogo Añadir vista indicaremos que estamos pasando una Lista <Movies.Models.Movie> a nuestra plantilla Vista. A diferencia de las veces anteriores en las que usamos el cuadro de diálogo Añadir vista y elegimos crear una plantilla "Vacía", esta vez indicaremos que queremos que Visual Studio haga "scaffolding" automáticamente de una plantilla de vista con algún contenido predeterminado. Lo haremos seleccionando el elemento "Lista" dentro del menú desplegable "Ver contenido".
Recuerde que cuando tenga una nueva clase creada tendrá que compilar su aplicación para que aparezca en el diálogo Añadir vista.

Haga clic en agregar y el sistema generará automáticamente el código para una Vista para nosotros que muestre nuestra lista de películas. Este es un buen momento para cambiar el encabezado <h2> por algo como "Mi lista de películas", como hicimos anteriormente con la vista Hola mundo.
Ejecute su aplicación y visite /Movies en la barra de direcciones. Ahora hemos recuperado datos de la base de datos usando una consulta básica dentro del controlador y hemos devuelto los datos a una Vista que conoce las Películas. Esa vista después recorre la lista de películas y crea una tabla de datos para nosotros.
No vamos a implementar la funcionalidad de edición, detalles y eliminación con esta aplicación, por lo que no necesitamos los vínculos predeterminados que la plantilla de scaffolding creó para nosotros. Abra el archivo /Movies/Index.aspx y elimínelos.
Este es el código fuente de cómo debería ser nuestra plantilla Vista actualizada una vez que hagamos estos cambios:
<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<IEnumerable<Movies.Models.Movie>>" %>
<asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">
Movie List
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
<h2>My Movie List</h2>
<table>
<tr>
<th>Title</th>
<th>ReleaseDate</th>
<th>Genre</th>
<th>Rating</th>
<th>Price</th>
</tr>
<% foreach (var item in Model)
{ %>
<tr>
<td><%: item.Title %></td>
<td><%: String.Format("{0:g}", item.ReleaseDate) %></td>
<td><%: item.Genre %></td>
<td><%: item.Rating %></td>
<td><%: String.Format("{0:F}", item.Price) %></td>
</tr>
<% } %>
</table>
<p>
<%: Html.ActionLink("Create New", "Create") %>
</p>
</asp:Content>
Está creando vínculos que no necesitaremos, así que los eliminaremos para este ejemplo. No obstante, mantendremos nuestro vínculo Crear nuevo, ya que es lo siguiente. He aquí el aspecto de nuestra aplicación con esa columna eliminada.
Ahora tenemos una lista sencilla de nuestros datos de películas. Sin embargo, si hacemos clic en el vínculo "Crear nuevo", se producirá un error, ya que no está conectado. Implementemos un método de acción Create y habilitemos a un usuario para que escriba nuevas películas en nuestra base de datos.



