Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
La webform non altro che un normale FORM HTML, con lattributo runat=server. Poich ogni
pagina asp.net pu contenere un solo form, una webform si identifica con una pagina ASP.NET.
Ogni singola pagina rappresentata da una classe che eredita da Page, classe base contenuta
nel Namespace System.Web.UI.
Come tutti i controlli, anche la pagina asp.net (e quindi la webform) risponde a degli eventi.
Il primo ad essere invocato PreInit, che si verifica prima dellevento Init, che a sua volta si
verifica allatto della inizializzazione della classe che rappresenta la pagina.
Successivamente si scatena levento Load, che contestuale al caricamento della pagina e
delle impostazioni delle sue propriet. C anche levento Preload, che si verifica prima di
Load.
Successivamente ci sono gli eventi PreRender e Render, che segnano la generazione del
codice X(HTML) associato.
C poi levento Error che si verifica quando uneccezione non gestita viene scatenata da uno
degli oggetti della pagina.
Linfrastruttura del Page Framework si basa su due concetti chiave, ViewState e PostBack,
che rappresentano rispettivamente il contenitore ed il sistema attraverso il quale la pagina in
grado di preservare lo stato dei controlli e scatenare gli eventi associati.
Esattamente un PostBack unazione attraverso la quale un controllo (che altro non che un
elemento HTML) inoltra nuovamente alla webform il contenuto dei suoi campi, in maniera tale
che possa essere aggiornato lo stato e quello dei suoi contenuti.
Il ViewState invece il contenitore delle informazioni di stato, cos che nel susseguirsi dei
PostBack, che possono essere anche pi di uno, lo sviluppatore non debba preoccuparsi di
mantenere lo stato dei vari controlli.
Se, per esempio, una webform costituita da una casella di testo e da un pulsante, ogni volta
che il pulsante viene premuto viene scatenato un evento PostBack, in seguito al quale le
informazioni associate ai controlli (nellesempio la casella di testo) sono salvate attraverso
levento SaveState nel ViewState della pagina, cos che, dai PostBack successivi, sfruttando
levento LoadState della pagina, sia possibile recuperarli.
Il risultato che si ottiene che i controlli, automaticamente, mantengono il loro stato
attraverso i vari PostBack, senza che lo sviluppatore debba implementare codice specifico.
Il ViewState implementato da un campo hidden aggiunto alla form, allinterno del quale
vengono salvate le informazioni in codifica base 64.
Le direttive di pagina
Allinterno del markup di una pagina sono presenti alcune istruzioni particolari, chiamate
direttive, che sono utilizzate in fase di generazione della classe che la rappresenter. Esse
possono essere messe in qualunque punto della pagina, anche se solitamente sono inserite
allinizio.
Le direttive sono contenute in blocchi di istruzioni racchiuse allinterno di parentesi acute, come
di seguito indicato: <%@ %> . La sintassi del tipo:
<%@ Direttiva attributo=valore %>
In particolare la direttiva @Page definisce gli attributi specifici della pagina (file ASPX) utilizzati
dal compilatore e dal parser di pagine ASP.NET. La sintassi :
HtmlInputReset
HtmlInputSubmit
HtmlInputText
HtmlLink
HtmlMeta
HtmlSelect
HtmlTable
HtmlTableCell
HtmlTableRow
HtmlTextArea
HtmlTitle
CheckBoxList
DropDownList
HyperLink
Image
ImageButton
Label
LinkButton
ListBox
Panel
PlaceHolder
RadioButton
RadioButtonList
TextBox
possibile impostare la propriet Text del controllo Label su una stringa qualsiasi, incluse
stringhe contenenti tag. In questo caso, Label interpreter i tag. Se ad esempio si imposta la
propriet Text su <b>Test</b>, il controllo Label eseguir il rendering della parola Test in
grassetto.
La sintassi del controllo Label <asp:Label>.
Le principali propriet del controllo Label sono elencate di seguito:
Nome
Descrizione
BackColor
BorderColor
BorderStyle
BorderWidth
CssClass
Enabled
EnableViewState
Font
ForeColor
Height
ID
Style
TabIndex
Text
ToolTip
Visible
Width
Quando un utente fa clic su un controllo pulsante, viene eseguito il postback della pagina al
server. Per impostazione predefinita, la pagina viene inviata a se stessa. La medesima pagina
viene quindi rigenerata e i gestori eventi per i controlli contenuti nella pagina vengono eseguiti.
La sintassi del controllo Label <asp:Button>.
Le principali propriet del controllo Button sono elencate di seguito:
Nome
Descrizione
BackColor
BorderColor
BorderStyle
BorderWidth
CssClass
Enabled
EnableViewState
Font
ForeColor
Height
ID
PostBackUrl
Style
TabIndex
Text
ToolTip
Visible
Width
BorderColor
BorderStyle
BorderWidth
CssClass
Enabled
EnableViewState
Font
ForeColor
Height
ID
PostBackUrl
Style
TabIndex
Text
ToolTip
Visible
Width
BorderColor
BorderStyle
BorderWidth
CssClass
Enabled
EnableViewState
Font
ForeColor
Height
ID
ImageAlign
ImageUrl
Page
PostBackUrl
Site
TabIndex
ToolTip
Visible
Width
Esempio
<asp:ImageButton ID="ImageButton1" runat="server" Height="78px"
ImageUrl="~/Immagini/Tramonto.jpg" Width="113px" ImageAlign="left" />
<h3>Esempio ImageButton</h3>
Clicca dovunque sullimmagine.
<br><br>
<br><br>
<asp:label id="Label1" runat="server"/>
Protected Sub ImageButton1_Click(ByVal sender As Object, ByVal e As
System.Web.UI.ImageClickEventArgs) Handles ImageButton1.Click
Label1.Text = "Hai cliccato sullImageButton alle coordinate: (" & _
e.X.ToString() & ", " & e.Y.ToString() & ")"
End Sub
Controllo ListBox
Rappresenta un controllo casella di riepilogo che consente di selezionare uno o pi elementi.
La sintassi la seguente:
<asp:ListBox >
<asp:ListItem>...</asp:ListItem>
...
<asp:ListItem></asp:ListItem>
</asp:ListBox>
Le principali propriet del controllo ListBox sono elencate di seguito:
Nome
Descrizione
AutoPostBack
BackColor
BorderColor
BorderStyle
BorderWidth
CssClass
Enabled
EnableViewState
Font
ForeColor
Height
ID
Items
Rows
SelectedIndex
SelectedItem
SelectedValue
SelectionMode
Style
TabIndex
Text
ToolTip
Visible
Width
Esempio
<asp:Image ID="Image1" runat="server" ImageUrl="~/Immagini/books1.jpg" />
<br /><br />
<asp:ListBox ID="ListBox1" runat="server" AutoPostBack="True">
<asp:ListItem>books1</asp:ListItem>
<asp:ListItem>books2</asp:ListItem>
<asp:ListItem>books3</asp:ListItem>
</asp:ListBox>
Protected Sub ListBox1_SelectedIndexChanged(ByVal sender As Object, ByVal e As
System.EventArgs) Handles ListBox1.SelectedIndexChanged
Image1.ImageUrl = "Immagini/" & ListBox1.SelectedItem.Value & ".jpg"
End Sub
Controllo server HyperlinK
Il controllo HyperLink viene usato per creare un collegamento a un'altra pagina Web. Esso
visualizzato in genere come testo specificato dalla propriet Text. Pu anche essere
visualizzato sotto forma di immagine, specificata dalla propriet ImageUrl.
Se sono impostate le propriet Text e ImageUrl, la propriet ImageUrl ha la precedenza.
Se l'immagine non disponibile, viene visualizzato il testo presente nella propriet Text.
La sintassi <asp:HyperLink>
Le principali propriet del controllo HyperLink sono elencate di seguito:
Nome
Descrizione
BackColor
BorderColor
BorderStyle
BorderWidth
CssClass
Enabled
Font
ForeColor
Height
ID
ImageUrl
NavigateUrl
Page
Style
TabIndex
Target
Text
ToolTip
Visible
Width
Esempio
<h3>HyperLink Example</h3>
Click on the HyperLink:<br>
<asp:HyperLink id="hyperlink1"
ImageUrl="images/pict.jpg"
NavigateUrl="http://www.microsoft.com"
Text="Microsoft Official Site"
Target="_new"
runat="server"/>
Controllo Image
Il controllo Image consente di visualizzare un'immagine sulla pagina Web. Il percorso
dell'immagine visualizzata specificato impostando la propriet ImageUrl. possibile
specificare il testo da visualizzare al posto dell'immagine quando quest'ultima non
Descrizione
AlternateText
BackColor
BorderColor
BorderStyle
BorderWidth
CssClass
DescriptionUrl
Enabled
EnableViewState
Font
ForeColor
Height
ID
ImageAlign
ImageUrl
Style
TabIndex
ToolTip
Visible
Width
Controllo Panel
Il controllo Panel un contenitore per altri controlli e risulta particolarmente utile per generare
controlli a livello di codice, per nascondere e mostrare un gruppo di controlli o per localizzare
un gruppo di controlli.
La sintassi <asp:Panel>.
Le principali propriet sono:
Nome
Descrizione
BackColor
BackImageUrl
BorderColor
BorderStyle
BorderWidth
CssClass
Enabled
EnableViewState
Font
ForeColor
Height
HorizontalAlign
ID
ScrollBars
Site
Style
TabIndex
ToolTip
Visible
Width
Wrap
Esempio
<asp:Panel id="panel1" runat="server" BackColor="#ff0000" Height="100px"
Width="100px">
Hello World!
</asp:Panel>
<asp:CheckBox id="check1" Text="Hide Panel control" runat="server"/>
<br /><br />
<asp:Button ID="Button1" Text="Reload" runat="server" />
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles
Me.Load
If check1.Checked Then
panel1.Visible = False
Else
panel1.Visible = True
End If
End Sub
Controllo checkbox
Consente di visualizzare una casella di controllo in cui possibile selezionare una condizione
true o false.
La sintassi : <asp:CheckBox>
Nome
Descrizione
AutoPostBack
BackColor
BorderColor
BorderStyle
BorderWidth
Checked
CssClass
Enabled
EnableViewState
Font
ForeColor
Height
ID
Site
Style
TabIndex
Text
TextAlign
Visible
Width
Esempio
<asp:Panel id="panel1" runat="server" BackColor="#ff0000" Height="100px"
Width="100px">
Hello World!
</asp:Panel>
<asp:CheckBox id="check1" Text="Hide Panel control" runat="server"/>
<br /><br />
<asp:Button ID="Button1" Text="Reload" runat="server" />
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles
Me.Load
If check1.Checked Then
panel1.Visible = False
Else
panel1.Visible = True
End If
End Sub
Controllo checkboxList
Il controllo CheckBoxList fornisce un gruppo di caselle di controllo a selezione multipla.
Contiene un insieme Items con membri che corrispondono a singoli elementi nell'elenco. Per
determinare quali elementi sono selezionati, bisogna scorrere l'insieme e verificare la propriet
Selected di ciascun elemento nell'elenco.
La sintassi :
<asp:CheckBoxList runat="server">
<asp:ListItem>Item 1</asp:ListItem>
...
<asp:ListItem>Item 6</asp:ListItem>
</asp:CheckBoxList>
Le principali propriet sono:
Nome
Descrizione
AutoPostBack
BackColor
BorderColor
Web.
BorderStyle
BorderWidth
CellPadding
CellSpacing
CssClass
Enabled
EnableViewState
Font
ForeColor
Height
ID
Items
Page
RepeatColumns
RepeatDirection
SelectedIndex
SelectedItem
SelectedValue
Site
SkinID
Style
TabIndex
Text
TextAlign
ToolTip
Visible
Width
Esempio
<h3> CheckBoxList Example </h3>
Select items from the CheckBoxList.
<br><br>
<asp:CheckBoxList id="checkboxlist1"
AutoPostBack="True"
RepeatColumns="2"
RepeatDirection="Vertical"
TextAlign="Right"
runat="server">
<asp:ListItem>Item
<asp:ListItem>Item
<asp:ListItem>Item
<asp:ListItem>Item
<asp:ListItem>Item
<asp:ListItem>Item
1</asp:ListItem>
2</asp:ListItem>
3</asp:ListItem>
4</asp:ListItem>
5</asp:ListItem>
6</asp:ListItem>
</asp:CheckBoxList>
<br><br>
<asp:label id="Message" runat="server"/>
Protected Sub Check_Clicked(ByVal sender As Object, ByVal e As System.EventArgs) Handles
checkboxlist1.SelectedIndexChanged
Message.Text = "Selected Item(s):<br><br>"
"<br>"
End If
Next
End Sub
Control DropDownList
un controllo che consente all'utente di selezionare un singolo elemento da un elenco a
discesa.
Per specificare gli elementi da visualizzare nel controllo DropDownList, bisogna inserire un
oggetto ListItem per ciascuna voce tra i tag di apertura e di chiusura del controllo
DropDownList.
Utilizzare la propriet SelectedIndex per determinare a livello di codice l'indice dell'elemento
selezionato dall'utente nel controllo DropDownList.
La sintassi :
<asp:DropDownList>
<asp:ListItem></asp:ListItem>
<asp:ListItem></asp:ListItem>
</asp:DropDownList>
Le principali propriet sono:
Nome
Descrizione
AutoPostBack
BackColor
BorderColor
BorderStyle
BorderWidth
CssClass
Enabled
EnableViewState
Font
ForeColor
Height
ID
Items
SelectedIndex
SelectedItem
SelectedValue
Style
TabIndex
Text
ToolTip
Visible
Width
Esempio:
<asp:Image ID="Image1" runat="server" ImageUrl="~/Immagini/books1.jpg" /><br />
<br />
<asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="True">
<asp:ListItem>books1</asp:ListItem>
<asp:ListItem>books2</asp:ListItem>
<asp:ListItem>books3</asp:ListItem>
</asp:DropDownList> </div>
Protected Sub DropDownList1_SelectedIndexChanged(ByVal sender As Object, ByVal e As
System.EventArgs) Handles DropDownList1.SelectedIndexChanged
Image1.ImageUrl = "Immagini/" & DropDownList1.SelectedItem.Value & ".jpg"
End Sub
Controllo RadioButton
Rappresenta un controllo pulsante di opzione. I pulsanti sono raggruppati in modo logico se
condividono la stessa propriet GroupName.
La sintassi <asp:RadioButton>.
Le principali propriet sono:
Nome
Descrizione
AutoPostBack
BackColor
BorderColor
BorderStyle
BorderWidth
Checked
CssClass
Enabled
EnableViewState
Font
ForeColor
GroupName
Height
ID
TabIndex
Text
TextAlign
ToolTip
Visible
Width
Esempio radiobutton
<asp:Image ID="Image1" runat="server" ImageUrl="~/Immagini/books1.jpg" />
<br />
Scegli il libro<br />
<asp:RadioButton ID="RadioButton1" runat="server" GroupName="RdLibro" Text="books1"
AutoPostBack="True"/>
<asp:RadioButton ID="RadioButton2" runat="server" GroupName="RdLibro" Text="books2"
AutoPostBack="True"/>
<asp:RadioButton ID="RadioButton3" runat="server" GroupName="RdLibro" Text="books3"
AutoPostBack="True"/>
Object,
ByVal
As
Object,
ByVal
As
Object,
ByVal
As
Controllo Rabiobuttonlist
Il controllo RadioButtonList fornisce un gruppo di pulsanti di opzione a selezione singola. Tale
gruppo contiene un insieme Items con membri che corrispondono ai singoli elementi
Descrizione
AutoPostBack
BackColor
BorderColor
BorderStyle
BorderWidth
CausesValidation
CssClass
Enabled
EnableViewState
Font
ForeColor
Height
ID
Items
RepeatColumns
RepeatDirection
SelectedIndex
SelectedItem
SelectedValue
Site
Style
TabIndex
Text
TextAlign
ToolTip
Visible
Width
Esempio radiobuttonlist
<asp:Image ID="Image1" runat="server" ImageUrl="~/immagini/books1.jpg" /><br />
<asp:RadioButtonList id="radiolist1" runat="server" AutoPostBack="True">
<asp:ListItem selected="True">books1</asp:ListItem>
<asp:ListItem>books2</asp:ListItem>
<asp:ListItem>books3</asp:ListItem>
</asp:RadioButtonList>
Protected Sub radiolist1_SelectedIndexChanged(ByVal sender As Object, ByVal e As
System.EventArgs) Handles radiolist1.SelectedIndexChanged
Image1.ImageUrl = "immagini/" & radiolist1.SelectedItem.Text & ".jpg"
End Sub
Controllo PlaceHolder
un segnaposto che serve per contenere controlli, senza racchiuderli allinterno di un tag.
Esempio
<asp:PlaceHolder ID="inputs" runat="server">
<br />
Nome:<asp:TextBox ID="FirstName" runat="server"></asp:TextBox>
<br />
Cognome:<asp:TextBox ID="SecondName" runat="server"></asp:TextBox>
<br />
<br />
<asp:Button ID="SubmitButton" runat="server" Text="Provami" />
</asp:PlaceHolder>
</div>
<asp:PlaceHolder ID="Results" runat="server" Visible=false>
<br />
<br />
Hai detto di chiamarti: <asp:Label ID="ResultaName" runat="server" Text=""></asp:Label>
</asp:PlaceHolder>
Protected Sub SubmitButton_Click(ByVal sender As Object, ByVal e As System.EventArgs)
Handles SubmitButton.Click
Inputs.Visible = False
Results.Visible = True
ResultaName.Text = FirstName.Text & " " & SecondName.Text
End Sub