Saltar apartados

vistas

Creando una vista al controlador

Ya hemos visto el primer elemento del conjunto MVC. Ahora es el momento de aprender a usar vistas.

Para ello creamos un nuevo controlador que llamaremos sesion1Controller. Para añadir una vista, nos situamos sobre la definición de alguno de los métodos (por defecto se crea Index) y pulsamos el botón derecho. La primera opción nos permite crear una vista para el método.

 Creando una vista para un método del controlador

Aparecerá una ventana con el nombre de la vista igual a la del método. Desmarcamos la sección de página principal (Master page), aunque lo normal sea trabajar con páginas principales, y pulsamos Add.

 Ventana de opciones para definir la nueva vista

 

Nos aparece una nueva ventana que nos recuerda mucho al ASP.NET tradicional con nuestra ventana para poder editar nuestro código HTML. Añadimos algo de código para ver que se puede integrar código .NET.

<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage" %>

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >

<head runat="server">

    <title>Index</title>

</head>

<body>

    <div>

        <%= "Vista llamada por el controlador Sesion1" %>

    </div>

</body>

</html>

 

Nos ha generado en la carpeta Views, una nueva carpeta Sesion1 (nombre del controlador) y dentro de ésta el fichero Index.aspx (el método).

Ubicación de las vistas dentro del un proyecto ASP.NET MVC 

Generamos la solución y accedemos con el navegador a http://localhost:52314/Sesion1/.

 Visualización de la vista en el navegador

 

Paso de información del controlador a la vista

La forma más sencilla de pasar información del controlador a la vista es por medio de la colección ViewData.

Asignamos algún valor en el controlador

namespace MvcUA.Controllers

{

    public class Sesion1Controller : Controller

    {

        //

        // GET: /Sesion1/

 

        public ActionResult Index()

        {

            ViewData["curso"] = "Curso de ASP.NET MVC 2";

            return View();

        }

 

    }

}

 

Y lo podemos recuperar desde la vista

<div>

<%= "El nombre del curso es: " + ViewData["curso"] %>

</div>

El resultado en el navegador

 Pasar datos desde el controlador a la vista

 

Podemos pasar no sólo variables, sino listas de valores. Vamos a enviar el listado de alumnos

namespace MvcUA.Controllers

{

    public class Sesion1Controller : Controller

    {

        //

        // GET: /Sesion1/

 

        public ActionResult Index()

        {

            List<string> alumnos = new List<string> { "Antonio", "Juan", "Luis" };

            ViewData["curso"] = "Curso de ASP.NET MVC 2";

            ViewData["alumnos"] = alumnos;

            return View();

        }

 

    }

}

 

En la vista lo recuperamos y los mostramos

    <div>

        <%= "El nombre del curso es: " + ViewData["curso"] %>

    </div>

    <div>

        <%

            Response.Write("<br />Listado de alumnos");           

            foreach (string alumno in (List<string>)ViewData["alumnos"])

           {

               Response.Write("<br />" + alumno);

           }

         %>

    </div>

Servicio de Informática ASP.NET MVC 2 Framework


Universidad de Alicante
Carretera de San Vicente del Raspeig s/n
03690 San Vicente del Raspeig
Alicante (Spain)

Tel: (+34) 96 590 3400

Fax: (+34) 96 590 3464

Para más información: informacio@ua.es, y para temas relacionados con este servidor Web: webmaster@ua.es

Carretera San Vicente del Raspeig s/n - 03690 San Vicente del Raspeig - Alicante - Tel. 96 590 3400 - Fax 96 590 3464