AJAX Control Toolkit - Accordion

by Andrea 30 May 2007 21:05

E' uscito su XeDotNet un mio articolo dove parlo del controllo Accordion, contenuto all'interno di ASP .NET AJAX Control Toolkit.

Riporto l'abstract dell'articolo:

L'Accordion è uno dei controlli contenuti nel AJAX Control Tollkit. La caratteristica di questo controllo è l a possibilità di contenere diversi pannelli (AccordionPane) e permettere la visualizzazione di solo uno di questi per volta.

E aggiungerei che l'accordion ha anche alcune caratteristiche veramente interessanti, una di queste è la possibilità di essere collegato ad una fonte dati per creare e popolare i suoi panel.

Ricordo inoltre che il 29 giugno terrò con Davide Vernole una sessione che toccherà anche questi argomenti, e le iscrizioni sono aperte.

Link all'articolo: AJAX Control Toolkit - Accordion
Link al meeting: Community Meeting: ASP.NET AJAX 1.0

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Ajax ASP.NET | XeDotNet

Reporting Services e field che collassano

by Andrea 29 May 2007 05:05

A volte può essere un problema che le TextBox nei report callassino quando i field non hanno valore.
Una semplice soluzione a questo problema è quella di aggiungere uno spazio in coda al valore dei field:

=Fields!Description.Value

un'altra strada può essere quella di sostituire il valore empty ottenuto dal field con uno spazio:

=IIF(Fields!Description. = "", " ", Fields!Description.Value)

<update del 30.05.2007>
oppure (semplicemente) settare la proprietà InitialToggleState al valore Expanded. (Che di default invece è Collapsed)
</update>

A volte è proprio vero, la strada più semplice è anche la migliore!

Technorati tags: ,

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Reporting Services

Disegnare i report a seconda del rendering

by Andrea 29 May 2007 05:05

Quando dovete creare un Report di Reporting Services, dovete considerare (e stare attenti) al tipo di rendering che vorrete utilizzare. Questo perchè a seconda del rendering che sceglierete ci saranno delle differenze nel layout dei vostri report.

Il non averlo saputo prima, mi è costato un bagno di sangue per il semplice fatto che mi sono dovuto ripassare i Report già creati per risitemare e adattare il tutto.

Una cosa non banale, ad esempio, è che nel rendering HTML, non è previsto la sovrapposizione di item nel Report, ma ci sono molte altre differenze. Ecco quelle che riguardano il rendering HTML

  • The HTML rendering extension builds a table in HTML to contain each set of report items. Items are positioned in the table to preserve the report layout.
  • Locations and sizes are expressed in millimeters (mm). Differences of less than .2 mm are rendered as 0 mm.
  • HTML does not support item overlap. This can result in layout changes as the report is displayed.
  • A subreport is rendered as a DIV tag in the HTML report.


In rete ho trovato un documento che ne spiega alcune di queste differenze, ed inoltre, contiene alcuni tips parecchio utili:

  • Using Rectangles to Keep Objects Together
  • Avoiding Blank Pages
  • Using Page Breaks to Improve Performance for Large Reports
  • Using Filters Instead of Query Parameters
  • Adding Alternating Bars to a Table
  • Inserting A Page Break Following A Specific Number of Rows in A Table
  • Adding Global Values to Headers and Footers
  • Displaying Report Items in the Page Header
  • Creating Drill-Down Links with Conditional Formatting

Il documento è scaricabile da qui Best Practices and Guidelines (.doc) e vi consiglio vivamente la lettura perchè sono sicuro potrà farvi risparmiare parecchio tempo anche a voi. 

Fonte: Report Design: Best Practices and Guidelines

Technorati tags: , ,

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Reporting Services

Filtri e transizioni in IE

by Andrea 25 May 2007 22:05

Nel sito MSDN potete trovate diversi tutorial su filtri e transizioni da poter utilizzare tramite i Cascading Style Sheets (CSS) nelle vostre pagine web.

Link: Introduction to Filters and Transitions

L'unico lato negativo è che funzionano solo con Internet Explorer. 
Gli esempi mi sembrano un pò datati, ma possono sempre tornare utili. 
smile_wink

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Internet | Microsoft

Siti in AJAX indicizzabili sui motori di ricera

by Andrea 25 May 2007 20:05

SEO Uno dei problemi di AJAX (nel suo uso normale) è di non rendere visibili i contenuti caricati in un postback asincrono ai motori di ricerca. Questo perchè gli spider non riescono a navigare i link javascript.
Quando questo tipo di contenuti (caricati in un postback) è enorme, inizia ad essere un gorsso problema per la visibilità nei motori di ricerca.

In "ASP.NET Futures CTP" è stato inserita una feauture per risolvere questa problematica. Si tratta di una Search Sitemaps, in pratica, una sitemap creata per risolvere il problema delle pagine create dinamicamente.
Vi giro alcuni link della documentazione (provvisoria):
http://quickstarts.asp.net/Futures/services/doc/enablingsearch.aspx
http://quickstarts.asp.net/Futures/services/doc/searchsitemaps.aspx

Tramite un file di configurzione, e un pò di codice, sarà quindi possibile far generare una sitemap che conterrà anche le pagine raggiungibili attrverso un url dinamico.
Utilizzando questa Search Sitemap sarà quindi possibile rendere visibili agli spider dei search engine i nostri contenuti caricati in AJAX.

Ecco alcuni post che trattano di questo argomento:
Searching enabling Silverlight and AJAX web applications 
SEO for Ajax and Silverlight Applications
XD003 - AJAX Patterns with ASP.NET

Fonte:
Search engine optimization for Silverlight and Ajax

Technorati tags: , ,

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Ajax ASP.NET

C'è anche chi chiede consiglio a google

by Andrea 22 May 2007 22:05

Prima stavo guardando le statistiche del , e sopresa delle sorprese, guardate l'ultima ricerca fatta (che ha portato ad una mia pagina).

"La amo ma la voglio lasciare, come faccio?" e per di più sono nella prima pagina tra i risulati che otterrete cercandola su google. Non vi dico quanto ho riso nel vedere questa ricerca, d'altra parte (ormai) su internet si trova di tutto... i tempi cambiano, i blog crescono,  ma non mi sarebbe mai venuto in mente di chiedere un consiglio a google.

Technorati tags: ,

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Internet | Sito

Ferie prenotate....destinazione Maiorca

by Andrea 19 May 2007 10:05

Avete capito bene, finalmente ho prenotate le ferie per la settimana di ferragosto.
Partenza dall'aeroporto di Treviso il 12 agosto 2007 e destinazione Maiorca, che è la più grande delle isole Baleari (Spagna). E il ritorno è fissato per il 19 agosto. Un'intera settimana da passare tra mare, sole, spiaggia, e chissà anche tra qualche bellezza locale.smile_teeth

Eccovi qualche foto dell'hotel dove alloggerò.


Devo ammettere che a vedersi sembra proprio tutto perfetto...ora non rimane che aspettare che arrivi agosto per preparare le valige e staccare un pò la spina.

Technorati tags: ,

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tempo libero

Microsoft SharedView disponibile senza invito

by Andrea 16 May 2007 18:05

Leggo ora il post  Microsoft SharedView now available without an invite su Channel 10.

SharedView (conosciuto anche come codename Tahiti) è un programma che permette di condividere file e fare vedere le proprie finestre e desktop a più utenti. Una sorta di LiveMeeting in versione ridotta.
Non permette la condivisione dell'audio, ma non è un problama in  quanto è sufficiente appoggiarsi a Microsoft Live Messenger, e dallo stesso è possibile far avviare SharedView dalla lista delle attività di un contatto.

Per il momento il link di SharedView non (mi) funziona, ma credo sia solo un problema temporaneo.

Technorati tags: , ,

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Microsoft

ASP .NET Redirect 301

by Andrea 16 May 2007 02:05

Il Redirect 301 "Moved Permanently" è molto importante per chi fa SEO (Search engine optimization). Questo redirect indica che la pagina è stata spostata definitivamente al nuovo indirizzo, facendo in modo che gli spider indicizzino la pagina nuova al posto di quella vecchia.

Per eseguire un Redirect 301 "Moved Permanently" da ASP .NET sono sufficienti le seguenti righe:

HttpContext.Current.Response.StatusCode = 301;
HttpContext.Current.Response.AddHeader("Location", redirectUrl);

L'errore comune è quello di fare un Response.Redirect dopo aver settato lo status a 301, e questo è sbagliatissimo in quanto causa un redirect 302 "Moved Temporarily" (che indica che la pagina è stata mossa temporaneamente, ed in questo caso gli spider non indicizereranno il contenuto della pagina di destinazione).

Per maggiori informazioni a riguardo delle ottimizzazioni SEO con ASP .NET, vi consiglio di guardare il Webcast di Andrea Boschin:
Link:  Tecniche di Search Engine Optimization con ASP.NET 2.0

Technorati tags: , ,

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

.NET

Reporting Services e bug su field empty

by Andrea 14 May 2007 21:05

Ebbene si, avete letto bene, mi sono trovato davanti ad un bug di Reporting Services che secondo me è davvero grave. Il problema si presenta quando usate una fonte dati xml, e uno dei field del primo elemento non ha valore (es <modello />). Se inserite il field in una lista, noterete che per tutta la colonna non verrà mai valorizzato, mentre, il tutto funziona correttamente se a non aver valore è un field che non sia nel primo elemento.

Se volete riprodurre l'errore, non dovete fare altro che usare come fonte dati un xml tipo questo (e lo impostate come sorgente dati nel report):

<?xml version="1.0" ?>
<automobili>
<auto><marca>fiat</marca><modello /></auto>
<auto><marca>fiat</marca><modello>punto</modello></auto>
</automobili> 

e come query scrivete:

<Query>
<ElementPath IgnoreNamespaces="true">
automobili/auto
</ElementPath>
</Query> 

Noterete che nel dataset non esisterà la colonna "modello", e questo perchè l'elemento "modello" (che è presente) nel xml non è valorizzato.

Ponendo il problema anche nei newsgroup Microsoft di SQL Server, vengo a sapere che sono a conoscenza del problema, e che per il momento non non c'è nessuna soluzione.
L'unica cosa che potete fare è intervenire nel file xml e fare in modo che tutti i campi siano valorizzati. Workaround non sempre praticabile e sicuramente non elegante, ma è l'unica strada percorribile per il momento.

Inutile provare con =Fields!modello.IsMissing o cose del genere perchè perdereste solo tempo, come è capitato a me. Quindi non ci resta che sperare che il bug venga corretto al più presto.

Technorati tags: , , ,

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Reporting Services