ASP.NET MVC 3 - Trasportare i dati nel Model

Post on 22-Apr-2015

1.151 views 0 download

description

Il model consente di trasportare le informazioni dal controller alla vista e viceversa, facciamoci aiutare dallo Scaffolding e dagli HtmlHelper

Transcript of ASP.NET MVC 3 - Trasportare i dati nel Model

ASP.NET

Sviluppo applicazioni web e linguaggio HTML

LEZIONE 06

Model View Controller

Model

Che cos’è il Model?

Un insieme di classi che

modellano le entità del

dominio applicativo

Domain Model

Solo questo?

… e poi trasporta

le informazioni

dall’interfaccia utente al

database e viceversa

Per realizzare tutto questo

cosa dobbiamo fare?

Dobbiamo …

Dobbiamo …

1 Creare un controller

Dobbiamo …

Aggiungere le action per

creare, modificare e

cancellare

Creare un controller

2

Dobbiamo …

Aggiungere action per

creare, modificare e

cancellare

Creare un controller

3 Creare le viste

Dobbiamo …

Aggiungere action per

creare, modificare e

cancellare

Creare un controller

4

Creare le viste

Aggiungere la logica di

persistenza sul database

In una parola …

Ma come facciamo a

ottenere informazioni

dal client?

In HTML è possibile grazie

al tag form

Il form è un

contenitore di

elementi di

tipo “input”

Quello che si trova all’interno

del tag form al submit viene

impacchettato e spedito al

server in una richiesta POST

Nell’action del controller

leggiamo le informazioni

dalla Request.Form

ma c’è un modo migliore

per farlo …

Se i nomi dei campi del

form riflettono i nomi delle

proprietà …

… possiamo usare lo

stesso codice per

valorizzare il model con i

dati dell’utente!

In ASP.NET c’è una classe

che lo fa per noi …

<form action=“/post/edit/”>

<input type=“hidden” … name=“PostId” />

<input type=“text” … name=“Title”/>

<textarea name=“Body” ... ></textarea>

</form>

Nel compilare la form

possiamo farci aiutare

dagli HtmlHelper

Html.EditorFor

Aggiungiamo al

blog la possibilità

di lasciare dei

commenti sui post

HtmlHelper perché

• Perché ci permettono di sfruttare le

caratteristiche del model

• Facilitano la scrittura dell’HTML

• Aiutano nella validazione degli input

degli utenti

HtmlHelper quando

• Quando il motivo principale è evitare

di scrivere codice HTML

Cosa può succedere se

non controlliamo i dati

inseriti dall’utente?

La validazione degli input

può avvenire:

• Lato server [obbligatorio]

• Lato client [opzionale]

• Su entrambi [consigliato]

Per la validazione ASP.NET

MVC3 si avvale di:

• Data Annotations

• Validation Helpers

Sono attributi che vengono

associati alle proprietà di

una classe del model

Data Annotations

Sono attributi che vengono

associati alle proprietà di

una classe del model

e descrivono quale insieme

di valori sono accettati

Data Annotations

Data Annotations Se poi ci sono errori …

Visualizzano le informazioni

sugli errori di validazione

Validation Helpers

continua …

Slide 6: http://www.flickr.com/photos/14497446@N02/5212627246/

Credits Le immagini contenute in questa presentazione

hanno licenza Creative Commons

Thank You

MANUEL SCAPOLAN website: www.manuelscapolan.it twitter: manuelscapolan e-mail: info@manuelscapolan.it