1 Titolo Presentazione / Data / Confidenziale / Elaborazione di... ASP. Net View State e controlli...

Post on 01-May-2015

217 views 0 download

Transcript of 1 Titolo Presentazione / Data / Confidenziale / Elaborazione di... ASP. Net View State e controlli...

1Titolo Presentazione / Data / Confidenziale / Elaborazione di ...

ASP. Net View State e controlli

Elaborazione di Franco Grivet Chin

2Titolo Presentazione / Data / Confidenziale / Elaborazione di ...

HTML CONTROL

I controlli HTML sono simili ai loro corrispettivi HTML tranne il fatto che sono processati dal serve

L’attributo runat="server" trasforma I normali controlli HTML in HTML Server control

HTML control:

<input type="text">

HTML Server control:

<input type="text" runat="server" />• Nota: Tutti I controlli XHTML devono avere unclosing tag, altrimenti il

tag deve finire con />

3Titolo Presentazione / Data / Confidenziale / Elaborazione di ...

ASP. NET server controls

Quando vengono eseguiti generano codice HTML code

ASP.NET controls sono elementi preceduti dal prefisso asp: seguito dal nome del controllo, i.e.

<asp:DropDownList>

Ci sono molti di ASP.NET Server Controls

• ASP.NET Form Controls (Web controls)

• Data Validation Controls

• User Controls

• Mobile Controls

• Etc.etc.

4Titolo Presentazione / Data / Confidenziale / Elaborazione di ...

HTML Server vs. ASP.NET Server Controls

ASP.NET controls hanno inoltre properties differenti rispetto ai loro rispettivi HTML server control

HTML Server label control

Message1.InnerHTML = "Product 1"

ASP server label control (le proprietà sono simili ai controlli che si possono trovare all’interno della piattaforma Windows)

Message2.Text = "Product 2"

5Titolo Presentazione / Data / Confidenziale / Elaborazione di ...

Namespaces e classi

Le classi del net framework sono organizzate in librerie all’interno dei namespaces

Il namespace a livello più alto è System

Tutte le Web Forms ereditano dal "System.Web.UI" namespace

System.Web.UI contiene classi per controlli usati all’interno delle Web Forms ovvero:

• HTML Server controls

• ASP.NET Server controls (Web controls)

6Titolo Presentazione / Data / Confidenziale / Elaborazione di ...

The HTML Server controls

7Titolo Presentazione / Data / Confidenziale / Elaborazione di ...

The ASP.NET Server controls

8Titolo Presentazione / Data / Confidenziale / Elaborazione di ...

Controlli HTML

HTML è un markup language

<hr>

Gli standard HTML sono definiti dal World Wide Web Consortium (W3C)

XHTML è la versione HTML che è "XML compliant"

• Richiede che I tag HTML seguano e regole di “well- formed”

9Titolo Presentazione / Data / Confidenziale / Elaborazione di ...

VIEW STATE

10Titolo Presentazione / Data / Confidenziale / Elaborazione di ...

Post Back e gestione

11Titolo Presentazione / Data / Confidenziale / Elaborazione di ...

Post Back e gestione

12Titolo Presentazione / Data / Confidenziale / Elaborazione di ...

Controlli di Validazione

Esistono validatori di terze parti es. http://www.peterblum.com

13Titolo Presentazione / Data / Confidenziale / Elaborazione di ...

Controlli di Validazione

La convalida scatta per default perché i pulsanti (<asp: button, <image:button, <link:button ) hanno la proprietà Causesvalidation=“true”, si po’ mettere a false per evitare che la validazione scatti ad esempio nel caso del pulsante cancella

Page.IsValid è una proprietà lato serve che si può testare ed è vera se la pagina non ha avuto errori nella validazione

RequiredFieldValidator

Serve per verificare un campo obbligatorio; si impostano le proprietà controlTovalidate e errorMessage

<asp:RequiredFieldValidator ID="RequiredFieldValidator7" runat="server" ControlToValidate="textEta" Text="Età obbligatoria"></asp:RequiredFieldValidator>

Oppure

<asp:RequiredFieldValidator ID="RequiredFieldValidator7" runat="server" ControlToValidate="textEta" > Età obbligatoria </asp:RequiredFieldValidator>

14Titolo Presentazione / Data / Confidenziale / Elaborazione di ...

Controlli di Validazione

RequiredFieldValidatorHa una proprietà InitialValue che se settata fa sì che si abbia un errore se il valore inserito è diverso. Se voglio il controllo del non “” e dell’initial devo mettere due required; si usa per i menù a discesa

<asp:DropDownList ….

ServerCompareValidatorServe per confrontare il valore di un campo con quello di un altro (es retype password), con una serie di costanti (maggiore, uguale, etc.) o il tipo di dato

<asp:CompareValidator ID="CompareValidator1" runat="server"

ControlToCompare="textPassword" ControlToValidate="textRePassword"

ErrorMessage="Le password non coincidono"></asp:CompareValidator>

15Titolo Presentazione / Data / Confidenziale / Elaborazione di ...

Controlli di Validazione

ServerCompareValidatorIn questo caso si convalida il fatto che sia un intero

<asp:CompareValidator ID="CompareValidator2" runat="server"

ControlToValidate="textNumero“ Operator="DataTypeCheck" Type="Integer">Deve essere un numero</asp:CompareValidator>

In questo caso che sia un numero maggiore di 18

<asp:CompareValidator ID="CompareValidator2" runat="server"

ControlToValidate="textNumero“ Operator=“GreaterThen" VaueToCompare=“18" Type="Integer">Deve essere un numero</asp:CompareValidator>

16Titolo Presentazione / Data / Confidenziale / Elaborazione di ...

Controlli di Validazione

ServerRangeValidatorServe per verificare che il valore di un campo sia incluso in un certo range

<asp:RangeValidator ID="RangeValidator1" runat="server"

ControlToValidate="textEta" ErrorMessage="Età fra i 18 e i 65" MaximumValue="65" MinimumValue="18" Type="Integer"></asp:RangeValidator>

Attenzione: l’impostazione predefinita per type è String, occorre cambiarlo altrimenti dà risultati “curiosi”

Si può utilizzare anche impostando i valori in fase di esecuzione, es date di un calendario

17Titolo Presentazione / Data / Confidenziale / Elaborazione di ...

Controlli di Validazione

RegularExpressionValidatorServe per verificare che un input aderisca a un certo tipo di maschera di input.

Ci sono già vari tipi di esempi , , sul sito www.regexlib.com altri esempi

<asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server"

ControlToValidate="textEmail" ErrorMessage="Formato email errato"

ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*"></asp:RegularExpressionValidator>

18Titolo Presentazione / Data / Confidenziale / Elaborazione di ...

Controlli di Validazione

CustomValidatorServe per associare ad un campo una funzione Javascript per la validazione personalizzata sia lato client che lato server, settando le opportune proprietà

ValidationSummaryServe per visualizzare tutti gli errori in forma compatta in un certo punto della form Si possono anche visualizzare gli errori con un message box

19Titolo Presentazione / Data / Confidenziale / Elaborazione di ...

3- Perfezionare e denominare i casi d’uso

20Titolo Presentazione / Data / Confidenziale / Elaborazione di ...