Supporto per l'impaginazione
Aggiornamento: novembre 2007
Nei dispositivi senza fili vengono utilizzati schermi con funzionalità assai diverse tra di loro. In alcuni schermi è possibile visualizzare i contenuti in maniera molto dettagliata. In altri schermi, invece, è possibile visualizzare solo alcune righe di testo monocromatico. Spesso il contenuto per schermi con funzionalità ridotte deve essere impaginato per ottenerne una visualizzazione corretta. I controlli mobili ASP.NET consentono all'applicazione di impaginare automaticamente i form in pagine che il dispositivo di destinazione è in grado di visualizzare. In questa sezione viene descritto il contributo dei controlli mobili al processo di impaginazione.
Informazioni sul sistema di pesatura per l'impaginazione
Il processo di impaginazione dei form si basa su un sistema di pesatura. Mediante la proprietà OptimumPageWeight ciascun adattatore di pagina restituisce il peso ottimale delle pagine di un form.
Un set di adattatori di dispositivo è in grado di fornire i pesi ottimali per ciascuna pagina e ciascun controllo. La scelta delle unità da adottare per tali pesi è flessibile. Sebbene sia possibile coordinare una convenzione appropriata per le unità di peso, attenendosi al sistema di unità predefinito è possibile utilizzare i pesi predefiniti dei controlli per un set di adattatori di dispositivo.
Nota: |
---|
Il sistema di unità predefinito si basa su una riga che equivale a 100 unità, come indicato dalla costante DefaultWeight nella classe ControlPager. |
Durante l'impaginazione, in ASP.NET viene scorsa la struttura dei controlli al fine di calcolare i pesi e assegnare i numeri di pagina. Dopo l'esecuzione del rendering della pagina corrente, viene eseguita l'impaginazione appropriata. È possibile determinare la pagina o le pagine assegnate a un controllo utilizzando le proprietà FirstPage e LastPage.
L'algoritmo di impaginazione prende in considerazione l'impostazione del controllo che ne impedisce l'impaginazione in più pagine. È ad esempio possibile evitare di suddividere in più pagine il contenuto di un controllo Panel. A tale scopo, eseguire l'override della proprietà PaginateChildren durante l'implementazione del controllo e restituire false.
Supporto per l'impaginazione di base
Per garantire un'impaginazione appropriata, è necessario che un controllo esegua l'override della proprietà VisibleWeight e restituisca un peso. Il peso predefinito è pari a 100, che corrisponde a una riga nel sistema di unità predefinito.
In alternativa, se si desidera che il peso del controllo sia basato sul dispositivo, l'adattatore di controllo può eseguire l'override della proprietà VisibleWeight con il valore appropriato per un determinato dispositivo. L'implementazione della classe base MobileControl della proprietà VisibleWeight consente di recuperare questo valore dall'adattatore di dispositivo.
Progettazione dell'impaginazione interna e personalizzata
Alcuni controlli utilizzano l'impaginazione per suddividere il contenuto dei controlli in più pagine di form, anche quando non sono inclusi controlli figlio. Un controllo List contenente un numero elevato di elementi può ad esempio essere impaginato in più pagine di form. Questa operazione viene denominata impaginazione interna. I controlli in cui è disponibile tale funzione sono in grado di eseguire anche l'impaginazione personalizzata. Quest'ultima rende disponibile una funzione di callback all'applicazione che le consente di fornire su richiesta i dati necessari al controllo e di raggruppare i dati correlati.
Come impedire l'impaginazione
L'impaginazione comporta la suddivisione del contenuto dei controlli in più pagine. In alcuni casi, può rendersi necessario impedire tale operazione. È ad esempio possibile impedire l'impaginazione di un controllo Panel. Il controllo Panel dispone della proprietà Paginate, impostata su false per impostazione predefinita.
Vedere anche
Altre risorse
Aggiunta di nuovi adattatori di dispositivo e supporto per dispositivi