codice:
<%@ Page Language="C#" %>
<script language="javascript">
function funzionePippo() {
alert("Funziona!..");
}
</script>
<script language="C#" runat="server">
String descrizione;
static int contatore; // Senza static la variabile perderebbe il valore
private void Page_PreInit(object sender, EventArgs e)
{
/*
C'è un hidden field dal nome __VIEWSTATE che voi non avevate inserito nel
codice sorgente della pagina .aspx.
Questo campo viene infatti inserito automaticamente dal sistema e serve per il
mantenimento dello stato del sistema per quegli elementi di cui avete specificato
l'attributo runat="server"
Infatti gli elementi messi come Runat Server sono elementi che vengono mantenuti nonostante
la pagina riaggiornata!..
*/
// STUDIARE!..
// Code behind e code beside
// Html Controls specifici
Response.Write("EVENTO: Page_PreInit
");
descrizione = "Utilizzare la proprietà IsPostBack per determinare se la pagina viene elaborata per la prima volta.
" +
"Creare o ricreare controlli dinamici.
" +
"Impostare una pagina master in modo dinamico.
" +
"Impostare la proprietà Theme in modo dinamico.
" +
"Leggere o impostare i valori delle proprietà dei profili..
" +
"Se la richiesta è un postback, i valori dei controlli non sono ancora stati ripristinati dallo stato di visualizzazione. Se in questa fase viene impostata una proprietà del controllo, il relativo valore potrebbe essere sovrascritto nella fase successiva.
";
Response.Write(descrizione);
if (!Page.IsPostBack)
{
Response.Write("
<HR>Ma lo sai che è la prima volta che entro qui?
<HR>");
this.inputNome.Value = inputNome.Value;
}
else
{
Response.Write("
<HR>Non è la prima volta che entro qui!!..
<HR>");
}
}
private void Page_Init(object sender, EventArgs e)
{
Response.Write("EVENTO: Page_Init
");
descrizione = "Leggere o inizializzare le proprietà dei controlli.
";
Response.Write(descrizione);
}
private void Page_load(object sender, EventArgs e)
{
Response.Write("EVENTO: page_load
");
descrizione = "Leggere e aggiornare le proprietà dei controlli.
";
Response.Write(descrizione);
contatore++;
Response.Write("
<HR>SONO PASSATO PER DI QUI!!.. Numero di volte: " + contatore + " Grazie Static<HR>
");
}
private void Page_loadComplete(object sender, EventArgs e)
{
Response.Write("EVENTO: page_loadComplete
");
descrizione = "Effettuare l'elaborazione specifica dell'applicazione:
" +
"Se la pagina contiene controlli di convalida, verificare la proprietà IsValid della pagina e dei singoli controlli di convalida prima di eseguire qualsiasi attività di elaborazione.
" +
"Gestire l'evento specifico, ad esempio l'evento Click di un controllo Button.
";
Response.Write(descrizione);
}
private void Page_PreRender(object sender, EventArgs e)
{
Response.Write("EVENTO: Page_PreRender
");
descrizione = "Apportare le modifiche finali ai contenuti della pagina.
";
Response.Write(descrizione);
}
private void Page_PreRenderComplete(object sender, EventArgs e)
{
Response.Write("EVENTO: Page_PreRenderComplete --> Control events
");
descrizione = "Apportare le modifiche finali ai contenuti della pagina.
";
Response.Write(descrizione);
Response.Write("EVENTO: Page_Unload
");
descrizione = "Eseguire le operazioni di pulitura finali, che possono includere:
" +
"Chiusura di file e connessioni ai database aperti.
" +
"Termine della registrazione o di altre attività specifiche della richiesta.
" +
"Durante la fase di scaricamento, è stato effettuato il rendering della pagina e dei relativi controlli. Pertanto, non è possibile apportare ulteriori modifiche al flusso di risposte. Se si cerca di chiamare un metodo, quale il metodo Response.Write, la pagina genererà un'eccezione.
";
Response.Write(descrizione);
}
private void Page_Unload(object sender, EventArgs e)
{
}
void SubmitBtn_Click(Object sender, EventArgs e)
{
Body.Attributes["bgcolor"] = ColorSelect.Value; // puoi mantere li stessi valori con questo metodo
}
private void saluta(object sender, EventArgs e)
{
Response.Write("
<HR><FONT COLOR='blue'>Hello " + inputNome.Value + "</FONT>
<HR>");
this.inputNome.Value = inputNome.Value; // puoi mantere li stessi valori con questo metodo
this.label1.Text = "
<HR>Ripeto mi chiamo: " + this.inputNome.Value + "<HR>
"; // puoi mantere li stessi valori con questo metodo
}
</script>
<html>
<head runat="server">
<title>CIAO</title>
</head>
<body id="Body" runat="server">
<form id="form1" runat="server">
Scrivi il tuo nome:
<input id="inputNome" runat="server" type="text" />
<input id="buttonSalva" runat="server" type="button" value="clicca" onserverclick="saluta" />
<font color="blue">
<asp:Label ID="label1" runat="server" BackColor="blue" /></font>
Seleziona un colore di background per la pagina:
<select id="ColorSelect" runat="server" enableviewstate="true">
<option value="White">Bianco</option>
<option value="LightBlue">Celeste</option>
<option value="LightGreen">Verde</option>
<option value="Yellow">Giallo</option>
</select>
Infatti questo valore non viene mantenuto in asssenza del runat="server"
<select id="ColorSelect2">
<option value="White">Bianco</option>
<option value="LightBlue">Celeste</option>
<option value="LightGreen">Verde</option>
<option value="Yellow">Giallo</option>
</select>
<input id="Submit1" type="submit" runat="server" value="Applica" onclick="JavaScript: alert('Se ad esempio selezionate il valore Verde, al successivo caricamento della pagina quello rimane elemento selezionato, ossia elemento che come sorgente html ha option value=LightGreen selected.\nIl mantenimento dello stato è un altra caratteristica molto utile ed importante di questo ambiente di sviluppo');" onserverclick="SubmitBtn_Click">
<input type="reset" />
</form>
Vai alla seconda pagina
</body>
</html>