Salve ragazzi, mi dispiace: ci sono ancora :-D
Prima di tutto ringrazio tutti coloro che mi hanno fatto i complimenti per la mia nomina a MVP. Non me ne aspettavo così numerosi ;-) Non l'ho fatto prima perché ho un brutto rapporto con il blog, non che snobbi il riconoscimento.
Passiamo alle ClientPages. Cusa lèè? Questo è il link alla pagina ufficiale del lab.
In pratica è un'implementazione del client callback presente nella futura versione 2 di ASP.NET.
Anzi, ho fatto di più. Ho creato una struttura di classi ed ho esteso alcuni normali webControl. Quello che fa la versione ASP.NET 2 nella beta 1 è:
- richiamare la pagina;
- invocare il metodo RaiseCallbackEvent del controllo;
- restituire una stringa ad una funzione JavaScript;
Le ClientPages invece fanno:
- richiamare la pagina mandando a scelta tutto il form;
- invocare il metodo RaiseCallbackEvent del controllo;
- emettere del codice JavaScript richiesto da uno o più controlli della pagina;
- risalvare il viewState mandandolo indietro e sostituendolo nella form.
Il risultato è che noi lavoriamo normalmente con i controlli (intercettiamo eventi, binding, modifiche proprietà ecc) ma differenziando il comportamente. Se in fase di client callback si fermerà prima del rendering ed emetterà codice Js, altrimenti effettuerà il normale rendering della pagina.
Non è stato facile, le classi del Framework .NET hanno molti membri internal e private e qualche chiamata via reflection viene fatta. Ovviamente non tutte le proprietà sono dinamiche, non mi andava di riscrivere tutti i WebControls :-D oltre al fatto molti membri e classi non si possono sovrascrivere.
Insomma, se volete vederlo al lavoro, andate qua. Noterete come tutto viene fatto senza postback, che non c'è nessun codice nuovo da scrivere e che se scatenate un postback normale avrete il viewState e le proprietà corrette.
Secondo me è fichissimo, ma sono di parte ;-)
perdonami ......
mi spiace che devo essere sempre io ....
cmq... spero ti sia utile...
------------------------------------------------------------
Server Error in '/Ricciolo' Application.
--------------------------------------------------------------------------------
Object reference not set to an instance of an object.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.NullReferenceException: Object reference not set to an instance of an object.
Source Error:
Line 24: ListDictionary h = new ListDictionary();
Line 25: for (int x = 0; x < 50; x++)
Line 26: h.Add(list.SelectedItem.Text + "-" + x.ToString(), x.ToString());
Line 27:
Line 28: countries.DataSource = h;
Source File: D:\Domini\www.xmlroot.it\ricciolo\clientpage.aspx.cs Line: 26
Stack Trace:
[NullReferenceException: Object reference not set to an instance of an object.]
ASPItalia.com.ClientCallback.DefaultPage.list_SelectedIndexChanged(Object sender, EventArgs e) in D:\Domini\www.xmlroot.it\ricciolo\clientpage.aspx.cs:26
System.Web.UI.WebControls.ListControl.OnSelectedIndexChanged(EventArgs e) +108
ASPItalia.com.ClientCallback.ListBox.RaiseCallbackEvent(String data) +13
ASPItalia.com.ClientCallback.ClientPage.raiseClientCallback(String clientCallbackData, String controlID) +85
ASPItalia.com.ClientCallback.ClientPage.processRequest(HttpContext context, String controlID, String clientCallbackData) +34
ASPItalia.com.ClientCallback.ClientPage.System.Web.IHttpHandler.ProcessRequest(HttpContext context) +340
------------------------------------------------------------
quanto prima voglio provare ad usarli le vacanza si avvicinano e sarà difficile farlo prima della fine di agosto.
ti rinnovo i complimenti lavoro bellissimo e utile
xiaaooz
Ah ma sei sempre il solito. Comunque succede quando non selezioni nessuna regione e quindi SelectedItem è null. Una stupidata
io?? sei te il solito!!!!
Ricciolo ha scritto:
Ah ma sei sempre il solito. Comunque succede quando non selezioni nessuna regione e quindi SelectedItem è null. Una stupidata
Aggiungi un nuovo commento »»»
Per inserire un commento, devi registrarti alla nostra community.




Stampa
Download 
10annidi.ASPItalia.com: iscriviti alla competizione e vinci fantastici premi ogni mese!
lavoro davvero mostruoso
complimenti :)
Continua »»» | Rispondi »»»