Posts
163
Comments
179
Trackbacks
5
Programmazione Web
La modifica ad un file ASPX genera un errore Type 'System.Web.UI.WebControls.UpdatePanel' is not defined

Migrando un progetto da Visual Studio 2010 al 2012 mi sono trovato in una situazione spiacevole: ogni modifica fatta ad un file ASPX qualsiasi genera una serie di errori del tipo: Type 'System.Web.UI.WebControls.UpdatePanel' is not defined.    Nella pratica il designer di Visual Studio referenzia gli UpdatePanel usando il namespace System.Web.UI.WebControls.UpdatePanel invece di usare il namespace corretto System.Web.UI.UpdatePanel. Probabilmente sta cercando di usare una vecchia versione delle Ajax Extension che ovviamente non sto usando ne referenziando. Esiste anche un bug aperto su Connect, che però è stato marcato come risolto perché non riproducibile (creando...

posted @ lunedì 17 marzo 2014 12:49 | Feedback (0)
Javascript & HTML 5 - Chiamate cross-domain usando iFrame, postMessage e localStorage

L’esigenza penso che possa essere comune a molti: supponiamo di avere due pagine, A e B memorizzate su domini differenti. Supponiamo di aprire B da A  e di voler refreshare A quando un determinato evento si verifica in B (ad esempio l’utente preme sul classico bottone “Salva”). Come fare? Il solito Google ci viene in aiuto con una miriade di hack e trucchi vari che però nel nostro scenario non sono tutti applicabili. Se la pagina B viene aperta con il classico window.open, una soluzione banale è quella di impostare il document.domain di entrambe la pagine ad un valore comune. Facendo...

posted @ martedì 4 giugno 2013 17:31 | Feedback (0)
Applicazioni ASP.NET e Tablet: supportarli o non supportarli?

Dovendo riprogettare un’applicazione ASP.NET e potendo adottare un nuovo stile grafico, è opportuno o meno sviluppare tenendo in mente il fatto che tale applicazione possa essere usata nei Tablet? Chiaramente la possibilità di utilizzo sui Tablet non è un’ipotesi o una “fissa mentale”, ma è frutto di richieste di clienti già arrivate da più parti. Detto questo e avendo i soliti problemi di tempo/budget personalmente vedo due strade: Sviluppare un’applicazione web nello stile Hotmail o Gmail progettando bene i controlli e il layout affinché sia tutto utilizzabile decentemente sia sui desktop “classici” sia sui Tablet (bottoni grandi, textbox,...

posted @ martedì 22 gennaio 2013 13:43 | Feedback (1)
Problema con l’aggiunta/update di service reference a servizi WCF

Aggiornando o aggiungendo reference a servizi WCF potrebbe capitare che, nonostante non si ricevano errori in Visual Studio, il servizio WCF non sia utilizzabile lato codice e che il namespace usato non venga neanche trovato. Generalmente questa cosa capita quando ci sono conflitti sui tipi che il tool di aggiunta dei servizi WCF non riesce a risolvere. Se si va a verificare il file Reference.vb (o Reference.cs) generato da Visual Studio per ogni servizio WCF aggiunto, ci si accorgerà che il file è vuoto e da qui i problemi sopra indicati. Per correggere questo comportamento è sufficiente deselezionare il...

posted @ lunedì 22 ottobre 2012 12:17 | Feedback (0)
Eliminare lo “sfarfallamento” con i Tabs di JQuery

Problema “fastidioso” almeno visivamente parlando: quando si utilizzano i tab di jQuery, in fase di caricamento si nota uno “sfarfallamento” soprattutto nelle macchine più lente o nelle pagine più pesanti (e anche nei browser più veloci…). In questo post la soluzione: http://www.simple-talk.com/blogs/2010/04/07/avoiding-flicker-with-jquery-tabs/ In breve si tratta di nascondere inizialmente il div che contiene i tabs settando l’attributo display a none e visualizzarlo subito dopo aver richiamato la funzione .tabs che costruisce i tab. Niente di più semplice e devo dire che funziona bene!

posted @ venerdì 6 luglio 2012 12:45 | Feedback (0)
Intercettare la fine del download di un file in un’applicazione Web

L’esigenza penso sia piuttosto comune: notificare una pagina web, alla fine del download di un file. Nel mio caso specifico l’esigenza è quella di far apparire una dialog in un’applicazione Silverlight quando l’utente inizia il download di un file, e nasconderla quando la finestrella di Save del Browser viene visualizzata. Utilizzando Silverlight, la mia soluzione è un po’ particolare, ma il seguente articolo mostra un’interessante “trucco” per risolvere il problema all’interno di un’applicazione ASP.NET. http://geekswithblogs.net/GruffCode/archive/2010/10/28/detecting-the-file-download-dialog-in-the-browser.aspx Che dire, proprio un bel trucco!

posted @ martedì 25 gennaio 2011 12:30 | Feedback (0)
Amletico dilemma: Silverlight o ASP.NET?

Sfrutto un po’ il mio blog per cercare di risolvere un dilemma nato in questi giorni. Sono in procinto di iniziare lo sviluppo della nuova versione di un applicativo già esistente. L’applicativo suddetto è realizzato in ASP.NET, gira in intranet, non è strettamente necessario che sia multibrowser (anche se non sarebbe male) e per lo più consente la visualizzazione e l’inserimento di dati, quindi classiche griglie, form più o meno complesse, etc, etc. Con queste premesse ci siamo chiesti se convenga continuare ad utilizzare ASP.NET o non sia meglio passare a Silverlight. Uno dei requisiti della nuova versione è quella di...

posted @ lunedì 6 settembre 2010 10:51 | Feedback (7)
ASP.NET Menu: aprire il menu al mouse click e non al mouse over

Uno dei problemi più fastidiosi che si hanno con l’ASP.NET Menu è l’impossibilità (almeno fino alla versione 3.5) di decidere “quando” visualizzare gli elementi del menu. Di default vengono visualizzati al mouse over e la cosa può essere molto scomoda se il layout della pagina prevede dei controlli posizionati vicino al menu. Nel mio caso, dovendo integrare le mie applicazioni in SharePoint, il comportamento desiderato era quello di SharePoint e cioè aprire i menu al click del mouse e, una volta aperto un menu qualsiasi, poter navigare da un menu all’altro senza click successivi. Navigando con il solito Google sono arrivato a...

posted @ mercoledì 14 luglio 2010 17:56 | Feedback (0)
Aumentare la dimensione dei JSON modificando la proprietà maxJsonLength

In certe situazione potrebbe capitare di ricevere questo errore: Error during serialization or deserialization using the JSON JavaScriptSerializer. The length of the string exceeds the value set on the maxJsonLength property. Come è facile intuire dal messaggio, l’errore si ha quando si tenta di serializzare o deserializzare un JSON la cui dimensione sia maggiore rispetto a quella di default. Nel mio caso l’errore si aveva durante la chiamata ad un PageMethods fatta tramite jQuery. I dati passati infatti risultavano essere troppo grandi. La proprietà maxJsonLength è quella che controlla la dimensione massima dei dati JSON e può essere modificata da web.config: ...

posted @ lunedì 3 maggio 2010 13:03 | Feedback (1)
Problema con jQuery datepicker e IE

Utilizzo ormai jQuery e relativi controlli da molto tempo. Ieri utilizzando l’ultima versione del datepicker ho ottenuto uno strano comportamento: su Internet Explorer e solo su quello, selezionando la data corrente mi veniva restituito l’errore javascript “length is null or not an object”. Cercando su internet sono arrivato su questo post che analizza il problema e fornisce la soluzione: come spiegato, è sufficiente utilizzare l’evento onSelect che viene scatenato ogni volta che si seleziona un giorno dal calendario. All’evento, se non ci sono altre necessità particolari, va associata una funzione vuota:   $(".datepicker").datepicker({ onSelect:function(){}});

posted @ giovedì 3 dicembre 2009 12:03 | Feedback (1)
jQuery Ribbon

Ormai si moltiplicano come funghi script e plug-in per jQuery. Oggi segnalo un plug-in per dotare le proprie applicazioni web di Ribbon. Lo script ovviamente si chiama jQuery Ribbon.

posted @ sabato 23 maggio 2009 12:55 | Feedback (0)
jQuery: simulare il tasto TAB con l’Invio

Supponiamo di avere una pagina web qualunque e di voler simulare la pressione del tasto TAB con l’Invio. La richiesta mi è stata fatta da un cliente e in particolar modo dalla persona deputata al data-entry che, dovendo operare in modo molto veloce, preferisce usare il tastierino numerico e avrebbe preferito usare l’Invio al posto del Tab per spostarsi tra i vari campi da riempire. Come realizzare tutto ciò? Il buon jQuery ci viene in aiuto e, considerando esclusivamente i soli campi input è possibile utilizzare lo script seguente: 1: textBoxes = $("input:text"); 2: $(textBoxes).keydown(checkEnter); ...

posted @ martedì 3 febbraio 2009 10:56 | Feedback (0)
ASP.NET, UpdatePanel e Firefox Caching

In un'applicazione ASP.NET che sto sviluppando e che fa uso di Updatepanel, Ajax e quant'altro, si verificavano strani comportamenti in Firefox (più precisamente su Firefox 3). Gli strani comportamenti erano dati dal refresh fatto da browser, mentre su IE 6 e 7 il problema non sussisteva. Indagando un attimo ho scoperto che si tratta di un problema dovuto alla gestione della cache di Firefox. Questo semplice snippet ha risolto i miei problemi:   Private Sub _default_PreInit(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.PreInit ' Verifico il browser If Request.Browser.MSDomVersion.Major = 0 Then ...

posted @ venerdì 14 novembre 2008 15:43 | Feedback (0)
Compilare un template PDF in ASP.NET

Dopo mesi di assenza torno a postare nel mio blog e, complice un cambio di lavoro, spero di poterlo fare più assiduamente da qui in avanti. Bando alle ciance: in una mia applicazione ASP.NET è nata una nuova esigenza e cioè quella di consentire agli utenti la stampa in PDF di vari moduli precompilati. Come fare? I metodi sono tanti, le librerie PDF presenti sul mercato sono innumerevoli. La soluzione che propongo in questo post è quella di usare template PDF più la libreria gratuita iTextSharp. I template PDF possono essere realizzati con un qualsiasi strumento di editing e devono...

posted @ mercoledì 24 settembre 2008 12:30 | Feedback (6)
Due cose che Microsoft dovrebbe "prendere" da Firefox

Colgo l'occasione dell'uscita della nuova versione di Firefox per scrivere un post che rimane comunque valido anche per la vecchia versione del browser. Lavoro ormai nel mondo del web da parecchi anni, ma per la maggior parte del tempo ho lavorato esclusivamente su progetti Intranet che dovevano funzionare su IE6 o IE7. Adesso invece sono entrato nel fantastico mondo dei website multi-browser e ovviamente sono venuto a contatto massicciamente con Firefox. Non voglio stare qui a dire se sia meglio Firefox, se sia meglio IE7 o se sia meglio Safari. Ci sono già abbastanza post di questo genere e non è certamente...

posted @ giovedì 19 giugno 2008 18:21 | Feedback (3)
[jQuery] - Bug sulle funzioni di animazione

Utilizzando l'ultima versione di jQuery (la 1.2.3) e provando i miei soliti script js mi è saltato fuori il seguente bug: jQuery.easing[this.options.easing || (jQuery.easing.swing ? "swing" : "linear")] is not a function Come spiegato in questo ticket si tratta di un bug di associato ad alcune funzioni di animazione che viene fuori nel caso in cui si utilizzino delle funzioni di callback. Nel mio caso sto utilizzando la fadeIn e la fadeOut. Andando a sbirciare nel codice di jQuery si nota questo: fadeOut: function(speed, callback){ return this.animate({opacity: "hide"}, speed, callback); }, fadeTo: function(speed,to,callback){ return this.animate({opacity: to}, speed, callback); }, animate:...

posted @ mercoledì 27 febbraio 2008 11:03 | Feedback (0)
Rilasciata la versione 1.2.2 di jQuery

Rilasciata la versione 1.2.2 della popolare libreria javascript jQuery. E' una release minore ma le aggiunte/modifiche sono interessanti: $(DOMElement) velocizzato del 300%; modifiche al metodo .ready che lo rendono più performante e più potente; bind di eventi su mouseenter, mouseleave e pure su mousewheel; aggiunta del selettore .not. Per il download il link è il seguente: http://docs.jquery.com/Release:jQuery_1.2.2 Technorati Tags: jQuery, javascript

posted @ venerdì 18 gennaio 2008 10:01 | Feedback (0)
Google Chart API

Interessanti API by Google per creare dinamicamente grafici da includere nelle nostre pagine web: http://code.google.com/apis/chart/ Technorati Tags: Google, Chart

posted @ lunedì 10 dicembre 2007 09:49 | Feedback (0)
Consumare e testare web service con SSL

Spesso e volentieri quando si sviluppano e si distribuiscono web service, si utilizza SSL per incrementare e migliorare la sicurezza. Se si utilizza un certificato rilasciato da una certification authority (come si dovrebbe sempre fare!) non ci sono particolari problemi. Però in ambiente di test spesso e volentieri si utilizza un certificato self-signed che può essere facilmente creato attraverso il tool Makecert o attraverso gli IIS 6.0 Resource Kit Tools. In quest'ultimo caso, quando si va a consumare un web service da un'applicazione .NET viene restituita un'eccezione che indica che il certificato utilizzato non è valido. Come fare? Lorenzo ha già indicato la...

posted @ giovedì 27 settembre 2007 21:55 | Feedback (0)
Tool per la formattazione di codice Javascript

Segnalo un simpatico tool online per la formattazione di codice javascript: http://elfz.laacz.lv/beautify/ Fonte: http://weblogs.asp.net/dwahlin/archive/2007/09/26/javascript-beautifier-tool.aspx

posted @ mercoledì 26 settembre 2007 19:50 | Feedback (1)
Javascript Debugging anche in Visual Studio 2005

Personalmente non lo sapevo, ma  anche su Visual Studio 2005 è possibile debuggare script JS con tutti i vantaggi che ne conseguono! Un caloroso ringraziamento a Gian Maria che mettendo, un commento al mio post sul debugger JS in Visual Studio 2008, ha aperto nella mia vita lavorativa,  nuovi orizzonti. Questa pagina spiega in dettaglio come fare. Unica accortezza: fate attenzione a non avere disabilitato il debugging di script su Internet Explorer. Sicuramente da adesso in poi, il mio computer riceverà molti meno insulti!! Technorati tags: Javascript, Visual Studio 2005

posted @ mercoledì 1 agosto 2007 16:05 | Feedback (3)
Un'alternativa all'AutocompleteExtender

Perchè mai dover cercare qualcosa di alternativo all'AutoCompleteExtender delle estensioni AJAX per ASP.NET? Beh i motivi potrebbero essere tanti: la necessità di gestire coppie chiave/valore (sarà inclusa nella prossima release), l'autocompletamento multiplo che così com'e' fatto può non piacere o la pesantezza quando si inseriscono tanti AutocompleteExtender in una pagina (almeno questo è quello che ho notato io).In ogni caso, qualsiasi sia la motivazione, se siete alla ricerca di un'alternativa all'AutoCompleteExtender segnalo questo plug-in per jQuery: http://www.pengoworks.com/workshop/jquery/autocomplete.htm  Lo sto testando e mi sembra ben fatto. E' anche vero che sono dovuto intervenire in alcuni punti e correggere qualche funzione che...

posted @ mercoledì 25 luglio 2007 14:13 | Feedback (0)
ASP.NET Ajax: problemi di memoria con il CalendarExtender

Sto iniziando ad usare le estensioni AJAX di Microsoft in modo più approfondito. Aggiungendo un CalendarExtender ad una pagina ASP.NET mi sono accorto, insieme ai miei colleghi, di una lentezza esasperante e di un'occupazione spropositata in memoria.Pensando ad un errore nel mio sito o ad un problema nella mia versione del control toolkit mi sono scaricato l'ultima versione e ho fatto un test sul SampleWebSite. Anche in questo caso gli stessi problemi.A questo punto mi sono deciso ad indagare e ho fatto affidamento su San Google. Ho trovato questo issue nel sito CodePlex del progetto. Sebbene al momento sia stato chiuso...

posted @ martedì 26 giugno 2007 18:07 | Feedback (1)
UpdatePanel e Validators: la soluzione sono gli ASP.NET AJAX Validators

Probabilmente chi lavora da un po' con ASP.NET e AJAX, si sarà accorto che inserendo un validator in un update panel non tutto funziona come dovrebbe.Il problema risiede nel partial rendering e nelle nuovi API di AJAX che lo cosentono. Come potete leggere nel post di Matt Gibs, sarebbe dovuta uscire una patch distribuita attraverso il Windows Update che avrebbe dovuto risolvere il problema andando ad aggiornare l'assembly System.Web.A me sembra di aver aggiornato Windows con gli ultimi aggiornamenti, ma i problemi tra validator e update panel sono gli stessi. A questo punto non so se la patch sia effettivamente stata rilasciata o...

posted @ mercoledì 20 giugno 2007 15:45 | Feedback (0)
Generare file Excel senza automazione

Sicuramente è un problema che molti avranno avuto: la generazione di file Excel da applicazioni Windows o ASP.NET. Il motivo è molto semplice: Excel, come Word, ormai sono usati dappertutto e spesso gli utenti finali hanno una certa familiarità e una certa dimestichezza con questi strumenti. E' facile quindi che chiedano esportazioni di vario tipo su Excel per elaborazioni successive.Con la versione 2007 di Office e con il formato OpenXML è tutto molto più facile. Ma se volessimo supportare le versioni precedenti? Se volessimo avere qualcosa che funzioni sia su Office XP, sia su Office 2003 sia su Office 2007?L'automazione...

posted @ giovedì 14 giugno 2007 09:40 | Feedback (3)
Firefox e i Tooltip per le immagini

E' da molto tempo che mi dedico allo sviluppo di applicazioni web, ma fino a poco tempo fa ero esclusivamente orientato verso il browser di casa Microsoft. Chiaramente era una pacchia ! Nessun problema con CSS, javascript, margini e quant'altro. Adesso piano piano, sto scoprendo quanto è vario il panorama dei browser e mi sto rendendo conto che le differenze sono molte e spesso si ricorre a trucchi (hack o per fare i fighi).Il trucco di oggi riguarda i tooltip che spesso e volentieri gli sviluppatori web associano alle immagini, come descrizione aggiuntiva e come indicazione verso l'utente. Se come me...

posted @ lunedì 11 giugno 2007 18:20 | Feedback (4)
Greasemonkey: interfacciarsi ad un web service .NET

Avevo già accennato qualcosa su Greasemonkey nel mio post precedente. Non mi dilungo sull'utilità e sulle possibilità che Greasemonkey offre, voglio subito passare al sodo! Una delle necessità principali quando si realizzano script per Greasemonkey è quella di andare a reperire dati esterni da integrare nelle pagine web che si stanno modificando. Come fare? Greasemonkey mette a disposizione la funzione GM_xmlhttpRequest tramite la quale è possibile fare chiamate asincrone verso un qualsiasi URL. Il frammento di codice seguente mostra un esempio di utilizzo: 1 GM_xmlhttpRequest( 2 { 3 method: 'GET', 4 ...

posted @ venerdì 1 giugno 2007 15:20 | Feedback (0)
"PHP è gratis, Microsoft si fa pagare cara!"

Quante volte avete sentito dire questa frase? Personalmente un sacco, l'ultima questa mattina (Francesco, non ce l'ho con te, ho solo preso spunto dalla nostra breve chat!). Penso che quando un programmatore .NET e Microsoft oriented come me, parla con uno open-source oriented come ce ne sono tanti, è inevitabile che prima o poi quel commento venga fuori. Prima di venir attaccato da tutte le parti, preciso che in passato ho programmato in PHP e attualmento lo faccio a tempo perso. Non mi ritengo esperto di PHP, ma mi ritengo piuttosto ferrato su ASP.NET. Non ritengo PHP uno "strumento del demonio",...

posted @ venerdì 1 giugno 2007 14:51 | Feedback (7)
Greasemonkey, Trixie e Turnabout

Per chi non lo sapesse Greasemonkey è un add-on per Firefox che consente di modificare l'aspetto e il comportamento delle pagine web. In che modo? Attraverso script Javascript che vanno a modificare il codice HTML delle pagine introducendo nuovi tag, modificando quelli esistenti, rimuovendo banner, recuperando risorse da siti esterni e così via. Esistono centinaia di script già pronti per essere usati e un'ottima documentazione per gli sviluppatori. L'unica cosa negativa è che l'add-on è dedicato esclusivamente a Firefox. Una rapida ricerca di un qualcosa di analogo per Internet Explorer, porta a diversi risultati: GreasemonkeyIE, Trixie, Turnabout. Il primo è...

posted @ lunedì 14 maggio 2007 09:49 | Feedback (1)
News
Se volete sapere con chi avete a che fare eccomi qui in uno "scatto" lavorativo.

La mia foto

Logo MCAD
Logo MCTS