Si definisce un evento il verificarsi di una ben determinata condizione, per esempio un evento potrebbe essere il clic di un bottone presente all’interno di un form.

 Gli Eventi di Pagina di Aspnet

Eventi di Pagina Aspnet

Gli eventi sono perlopiu’ nella classe Pagge e sono i seguenti

Eventi di Page
PreInit
Si verifica nel momento in cui la pagina viene richiesta
Init
Si verifica quando la pagina si vuole inizializzare
InitComplete
Evento che si verifica quando termina Init
PreLoad
Si verifica quando tutti i dati sono stati richiesti e organizzati
Load
Evento che gestisce il caricamento dei dati
PostBack
Si Verifica quando è necessaria una rielaborazione della pagina a partire dai dati combinati
PreRendering

Inziio traduzione di rendering ossia il server converte il codice in linguaggio Html

 

Unload
Si è terminato il tutto e si fanno le verifiche sul buon esito del caricamento

Page Postback e Page CrossoPage Postback

Andiamo piu’ nel particolare , ma prima a chi provenisse a questa nuova tecnologia da altri linguaggi facciamo notare una peculiarità , siamo ormai alla fine e ancora non ci è capitato di imbatterci nel form GET e POST, vi assicuriamo che non si tratta di una dimenticanza, ma di una precisa scelta di Microsoft ASPNET , per dire la verità anche abbastanza cervellotica, perche’ se invece di prendere il Visual Web Developer Express Edition con motore ASPNET 3.5, ma prendessimo il Visual C# ritroveremmo i nostri buoni GET e POST. Cmq senza perderci in tanti sofismi da ASPNET 1.0, nonostante la guerra fatta dai programmatori nei newgroup, il passaggio di parametri tramite il metodo GET e POST è stato abolito. Altre sono le tecniche che sono state introdotte prima fra tutte il POSTBACK, questo evento si verfica quando si invia dei dati alla stessa pagina, si verifica un evento definito appunto Post Back, ossia invio ed elaborazione dei dati da parte della stessa pagina. Per fare questo si effettua un controllo sulla pagina al momento del suo caricamento che è il seguente.

protected void Page_Load (object sender, EventArgs e)

{

if (Page.IsPostBack

{
//blocco di istruzione da esgueire
}


}

E novità delle novità Aspnet 3.5 ha introdotto anche il CrossPagePostBack

CROSSPAGE POSTBACK

Ossia adesso attraverso questo comando è possibile l’indio dei dati a pagine esterne in soli due passaggi

  • Specificazione della proprietà PostBackUrl nel pulsante del controllo che la utilizza
  • Specificazione che se fatta dalla progettazione per esempio del VWD da luogo a questo codice per esempio
<form runat="server"

<asp:textbox runat ="server" id ="Nome" />

<asp:button runat ="server" id ="BotttoneInvioDati"

Text ="invia" PostBackUrl ="/pippo.aspx"/>

</form>

Ovviamente in fase di rendering , ossia di trasformazione di linguaggio in Html per essere poi spedito al nostro browser vedremo delle cose abbastanza differenti.

ViewState

Veniamo a questo comando , che onestamente credo che abbiamo utilizzato giusto una volta per prova , ma a cui Mircrosoft ripone veramente grande fiducia.

E’ un comando, che è molto in odore di Java , anche se poi Microsoft lo ha riutilizzato sia per il Visual Basic che per il C e serve per il mantenimento dei dati persistenti. In pratica consente di mantere i dati inseriti all’interno dei controlli ancora visibili, dopo eventuali reload della pagina in cui si è verificato l’evento di tipo Postback

la sua sintassi è la seguente

Value = ViewState (key)

anche se è possibile disabilitarlo direttamente inserendo la direttiva

<%@ Page EnableViewState ="False" %>

inoltre è molto facile da decodificare e quindi pessimi per la sicurezza, in parole molto povere fino a quando Microsoft non lo renderà un minimo piu’ efficace ci sono sempre i buoni e vecchi cookie di sessione che funzionano benissimo nonostante la loro anzianità di servizio.

 .

Data Base Repository

Con l’avvento degli hacker, cracker etc. etc. la sicurezza informatica sta sempre riscuotendo maggiore attenzione per quanto riguarda la programmazione, vi sarà sicuramente capitato di accedere a dei siti web che richiedevono l’introduzione di password, ecco quello si trattava senza ombra di dubbio di un ambiente Apache, vediamo adesso il corrispettivo di IIS di Microsoft.

Dentro il File Web.Config è inserito un sitema di protezione del tipo

<add path ="*.xml" verb ="*"

type = "System.Web.HttpForbiddenHandler" validate = "true" />

Con questa tecnica in pratica è applica a tutte le cartelle “riservate ” di Aspnet, cioe’ nessun utnente web avrà mai la possibilità di accedervi e vederle. E’ sicuramente una soluzione all’avanguardia. Questo tecnologia introdotta vi da anche un’idea ben precisa del grado di continua evoluzione a cui è sottoposta questa piattaforma, in assoluto la piu’ svilippata del web , rispetto anche ad altre di tipo open source.