Corsi on-line
Chiudi
Newsletter:
  • Seguici su Facebook
  • Seguici su Twitter
  • Seguici su Google+
  • Seguici via RSS
  • Seguici col tuo Smartphone

Paginazione di un documento XML con ASP.NET

Articolo scritto da Luca Ruggiero
Pagina 1 di 2

Il .NET Framework mette a disposizione validi strumenti per la gestione dei documenti XML, sia attraverso classi native che attraverso classi messe a disposizione da ADO.NET.

In questo articolo esaminiamo un esempio di paginazione di un documento XML con ASP.NET, utilizzando un Repeater per stampare a video i dati, un DataSet per leggeri e la classe PagedDataSource per eseguire la paginazione dei dati.

(L'articolo continua più sotto...)

Lavoreremo nel file paginazione.aspx che, una volta espletate tutte le operazioni, avrà il seguente aspetto:

Notiamo dunque che si tratta di una pagina Web in cui visualizziamo 3 di N dati a disposizione, visualizziamo il numero di pagina corrente ed il numero totale di pagine e, in fine, i link di navigazione tra le pagine che saranno non attivi qualora la pagina corrente sia la prima o l'ultima.

Creiamo il documento XML che conterrà i dati, ovvero il file persone.xml che avrà la seguente struttura:

<?xml version="1.0" encoding="ISO-8859-1"?>
<persone>
    <persona>
        <nome>Massimiliano</nome>
        <cognome>Bossi</cognome>
    </persona>
    <persona>
        <nome>Luca</nome>
        <cognome>Ruggiero</cognome>
    </persona>
    <persona>
        <nome>Claudio</nome>
        <cognome>Garau</cognome>
    </persona>
    <persona>
        <nome>Gennaro</nome>
        <cognome>Veneroso</cognome>
    </persona>
    <persona>
        <nome>Maria</nome>
        <cognome>Bonora</cognome>
    </persona>
</persone>
Vediamo adesso il codice HTML che sarà contenuto nel corpo della pagina Web:
<form runat="server"> 
<asp:repeater id="risultati" runat="server">
    <itemtemplate>
        <p>
            <%#Container.DataItem("nome")%>
            <%#Container.DataItem("cognome")%>
        </p>
    </itemtemplate> 
</asp:repeater> 
<p><b><asp:literal id="pagina" runat="server" Text="1" /></b></p>
<p>
    <asp:hyperlink id="indietro" runat="server" Text="Indietro" /> |
    <asp:hyperlink id="avanti" runat="server" Text="Avanti" />
</p>
</form>
Costruiamo il Repeater in cui stamperemo i dati, quindi un elemento testuale lato server in cui stampare pagina corrente e numero totali di pagine ed i link (sempre lato server) per spostarsi tra le pagine.

Al fine di rendere più gradevole l'output finale, applichiamo alla pagina un pizzico di CSS:

<style type="text/css">
body
{
    background: #FFFFFF;
    color: #000000;
    margin: 10px 10px 10px 10px;
}
p
{
    font-size: 13px;
    font-family: verdana;
}
a
{
    color: #0000FF;
    text-decoration: none;
}
a:hover
{
    color: #FF0000;
    text-decoration: none;
}
a.nolink
{
    color: #AAAAAA;
}
</style>
Notiamo la classe CSS "nolink" che richiameremo via codice ASP.NET per contrassegnare come "non cliccabile" i link "indietro" ed "avanti", qualora si tratti della prima o dell'ultima pagina di dati.

Corsi
Corso ASPCorso ASP
Corso completo per la creazione di siti Web dinamici. A partire da 39 €.
Corso ASP.NETCorso ASP.NET
Corso completo per la creazione di applicazioni Web. A partire da 49 €.
Corso SQL e DatabaseCorso SQL e Database
Creazione e gestione di database relazionali. A partire da 39 €.
Vedi anche...
Annunci

Mr.Webmaster

Pubblicità
Chi Siamo
Contattaci
Collabora
Note Legali
© 2003 - 2012 Mr.Webmaster - Il portale dei Webmaster Italiani - Tutti i diritti riservati | Powered by IKIweb Internet Media S.r.l. - PIVA 02848390122