ASP.NET MVC 3 - Trasportare i dati nel Model

42
ASP.NET Sviluppo applicazioni web e linguaggio HTML LEZIONE 06 Model View Controller

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

Page 1: ASP.NET MVC 3 - Trasportare i dati nel Model

ASP.NET

Sviluppo applicazioni web e linguaggio HTML

LEZIONE 06

Model View Controller

Page 2: ASP.NET MVC 3 - Trasportare i dati nel Model

Model

Page 3: ASP.NET MVC 3 - Trasportare i dati nel Model

Che cos’è il Model?

Page 4: ASP.NET MVC 3 - Trasportare i dati nel Model

Un insieme di classi che

modellano le entità del

dominio applicativo

Domain Model

Page 5: ASP.NET MVC 3 - Trasportare i dati nel Model

Solo questo?

Page 6: ASP.NET MVC 3 - Trasportare i dati nel Model

… e poi trasporta

le informazioni

dall’interfaccia utente al

database e viceversa

Page 7: ASP.NET MVC 3 - Trasportare i dati nel Model

Per realizzare tutto questo

cosa dobbiamo fare?

Page 8: ASP.NET MVC 3 - Trasportare i dati nel Model

Dobbiamo …

Page 9: ASP.NET MVC 3 - Trasportare i dati nel Model

Dobbiamo …

1 Creare un controller

Page 10: ASP.NET MVC 3 - Trasportare i dati nel Model

Dobbiamo …

Aggiungere le action per

creare, modificare e

cancellare

Creare un controller

2

Page 11: ASP.NET MVC 3 - Trasportare i dati nel Model

Dobbiamo …

Aggiungere action per

creare, modificare e

cancellare

Creare un controller

3 Creare le viste

Page 12: ASP.NET MVC 3 - Trasportare i dati nel Model

Dobbiamo …

Aggiungere action per

creare, modificare e

cancellare

Creare un controller

4

Creare le viste

Aggiungere la logica di

persistenza sul database

Page 13: ASP.NET MVC 3 - Trasportare i dati nel Model

In una parola …

Page 14: ASP.NET MVC 3 - Trasportare i dati nel Model
Page 15: ASP.NET MVC 3 - Trasportare i dati nel Model

Ma come facciamo a

ottenere informazioni

dal client?

Page 16: ASP.NET MVC 3 - Trasportare i dati nel Model

In HTML è possibile grazie

al tag form

Page 17: ASP.NET MVC 3 - Trasportare i dati nel Model

Il form è un

contenitore di

elementi di

tipo “input”

Page 19: ASP.NET MVC 3 - Trasportare i dati nel Model

Quello che si trova all’interno

del tag form al submit viene

impacchettato e spedito al

server in una richiesta POST

Page 20: ASP.NET MVC 3 - Trasportare i dati nel Model

Nell’action del controller

leggiamo le informazioni

dalla Request.Form

Page 21: ASP.NET MVC 3 - Trasportare i dati nel Model

ma c’è un modo migliore

per farlo …

Page 22: ASP.NET MVC 3 - Trasportare i dati nel Model

Se i nomi dei campi del

form riflettono i nomi delle

proprietà …

Page 23: ASP.NET MVC 3 - Trasportare i dati nel Model

… possiamo usare lo

stesso codice per

valorizzare il model con i

dati dell’utente!

Page 24: ASP.NET MVC 3 - Trasportare i dati nel Model

In ASP.NET c’è una classe

che lo fa per noi …

Page 25: ASP.NET MVC 3 - Trasportare i dati nel Model

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

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

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

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

</form>

Page 26: ASP.NET MVC 3 - Trasportare i dati nel Model

Page 27: ASP.NET MVC 3 - Trasportare i dati nel Model

Nel compilare la form

possiamo farci aiutare

dagli HtmlHelper

Page 28: ASP.NET MVC 3 - Trasportare i dati nel Model

Html.EditorFor

Page 29: ASP.NET MVC 3 - Trasportare i dati nel Model

Aggiungiamo al

blog la possibilità

di lasciare dei

commenti sui post

Page 30: ASP.NET MVC 3 - Trasportare i dati nel Model

HtmlHelper perché

• Perché ci permettono di sfruttare le

caratteristiche del model

• Facilitano la scrittura dell’HTML

• Aiutano nella validazione degli input

degli utenti

Page 31: ASP.NET MVC 3 - Trasportare i dati nel Model

HtmlHelper quando

• Quando il motivo principale è evitare

di scrivere codice HTML

Page 32: ASP.NET MVC 3 - Trasportare i dati nel Model

Cosa può succedere se

non controlliamo i dati

inseriti dall’utente?

Page 33: ASP.NET MVC 3 - Trasportare i dati nel Model
Page 34: ASP.NET MVC 3 - Trasportare i dati nel Model

La validazione degli input

può avvenire:

• Lato server [obbligatorio]

• Lato client [opzionale]

• Su entrambi [consigliato]

Page 35: ASP.NET MVC 3 - Trasportare i dati nel Model

Per la validazione ASP.NET

MVC3 si avvale di:

• Data Annotations

• Validation Helpers

Page 36: ASP.NET MVC 3 - Trasportare i dati nel Model

Sono attributi che vengono

associati alle proprietà di

una classe del model

Data Annotations

Page 37: ASP.NET MVC 3 - Trasportare i dati nel Model

Sono attributi che vengono

associati alle proprietà di

una classe del model

e descrivono quale insieme

di valori sono accettati

Data Annotations

Page 38: ASP.NET MVC 3 - Trasportare i dati nel Model

Data Annotations Se poi ci sono errori …

Page 39: ASP.NET MVC 3 - Trasportare i dati nel Model

Visualizzano le informazioni

sugli errori di validazione

Validation Helpers

Page 40: ASP.NET MVC 3 - Trasportare i dati nel Model

continua …

Page 41: ASP.NET MVC 3 - Trasportare i dati nel Model

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

Credits Le immagini contenute in questa presentazione

hanno licenza Creative Commons

Page 42: ASP.NET MVC 3 - Trasportare i dati nel Model

Thank You

MANUEL SCAPOLAN website: www.manuelscapolan.it twitter: manuelscapolan e-mail: [email protected]