Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Viste con Model tipizzato

Ottimizzare le richieste di dati specificando i tipi
Ottimizzare le richieste di dati specificando i tipi
Link copiato negli appunti

Come abbiamo visto nella lezione precedente, utilizzare la proprietà Model dichiarata come object ci costringe ad effettuare continuamente cast per ottenere i dati in forma tipizzata.

Fortunatamente ASP.Net MVC mette a disposizione dello sviluppatore la classe ViewPage<TModel> che, grazie ai generics, ci permette di utilizzare Model tipizzati.

Il codice seguente è una riscrittura, che fa uso dei generics, di quello appena visto per l'azione Index (attenzione soprattutto alla direttiva Page in alto):

Vista relativa all'azione Index di GalleryController (utilizzando la classe generica ViewPage<TModel>)

<%@ Page Language="C#" MasterPageFile="~/Views/Shared/Site.Master"
         Inherits="System.Web.Mvc.ViewPage<List<ImageGallery.Models.GalleryImage>>" %>

...

<%-- Corpo della pagina --%>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">

...

<%
  // Se nella lista sono presenti immagini le visualizzo
  if (this.Model.Count > 0)
  {
%>
    <ul class="gallery">
    <%
      // Stampo la descrizione per ogni immagine
      foreach (var image in this.Model)
      {
    %>
        ...
    <%
      }
    %>
    </ul>
<%
  }
  else // Altrimenti mostro un messaggio di errore
  {
%>
    <p>Nessuna immagine presente nel database.</p>
<% 
  }
%>
</asp:Content>

Il codice, oltre ad essere molto più pulito, sarà anche più veloce da scrivere ed eseguire. Per questi motivi, il consiglio è di utilizzare viste con Model tipizzato quando possibile.


Ti consigliamo anche