Saltar apartados

vistes

Creant una vista al controlador

Ja hem vist el primer element del conjunt MVC. Ara és el moment d'aprendre a usar vistes.

Per a açò vam crear un nou controlador que cridarem sesion1Controller. Per a afegir una vista, ens situem sobre la definició d'algun dels mètodes (per defecte es crea Index) i premem el botó dret. La primera opció ens permet crear una vista per al mètode.

Creando una vista para un método del controlador

Apareixerà una finestra amb el nom de la vista igual a la del mètode. Desmarquem la secció de pàgina principal (Master page), encara que el normal siga treballar amb pàgines principals, i premem Add.

Ventana de opciones para definir la nueva vista

Ens apareix una nova finestra que ens recorda molt a l'ASP.NET tradicional amb la nostra finestra per a poder editar el nostre codi HTML. Afegim una mica de codi per a veure que es pot integrar codi .NET.

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

Index

<%= "Vista anomenada pel controlador Sesion1" %>

Ens ha generat en la carpeta Views, una nova carpeta Sesion1 (nom del controlador) i dins d'aquesta el fitxer Index.aspx (el mètode).

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

Generem la solució i accedim amb el navegador a http://localhost:52314/Sesion1/.

Visualización de la vista en el navegador

Pas d'informació del controlador a la vista

La forma més senzilla de passar informació del controlador a la vista és per mitjà de la col·lecció ViewData.

Assignem algun valor en el controlador

namespace MvcUA.Controllers

{

public class Sesion1Controller : Controller

{

//

// GET: /Sesion1/

public ActionResult Index()

{

ViewData["curs"] = "Curs d'ASP.NET MVC 2";

return View();

}

}

}

I ho podem recuperar des de la vista

<%= "El nom del curs és: " + ViewData["curs"] %>

El resultat en el navegador

Pasar datos desde el controlador a la vista

Podem passar no solament variables, sinó llistes de valors. Anem a enviar el llistat d'alumnes

namespace MvcUA.Controllers

{

public class Sesion1Controller : Controller

{

//

// GET: /Sesion1/

public ActionResult Index()

{

List alumnes = new { "List Antonio", "Juan", "Luis" };

ViewData["curs"] = "Curs d'ASP.NET MVC 2";

ViewData["alumnes"] = alumnes;

return View();

}

}

}

En la vista ho recuperem i els vam mostrar

<%= "El nom del curs és: " + ViewData["curs"] %>

<%

Response.Write("
Llistat d'alumnes");

foreach (string alumne in (List)ViewData["alumnes"])

{

Response.Write("
" + alumne);

}

%>

Servei d'Informàtica ASP.NET MVC 2 Framework


Universitat d'Alacant
Carretera de Sant Vicent del Raspeig s/n
03690 Sant Vicent del Raspeig
Alacant (Spain)

Tel: (+34) 96 590 3400

Fax: (+34) 96 590 3464

Per a més informació: informacio@ua.es, i per a temes relacionats amb aquest servidor web: webmaster@ua.es

Carretera de Sant Vicent del Raspeig, s/n - 03690 Sant Vicent del Raspeig - Alacant - Tel.: 96 590 3400 - Fax: 96 590 3464