Condividi tramite


Aggiunta dinamica di un riquadro Accordion (VB)

di Christian Wenz

Scarica il PDF

Il controllo Accordion in AJAX Control Toolkit fornisce più riquadri e consente all'utente di visualizzare uno di essi alla volta. I pannelli vengono in genere dichiarati all'interno della pagina stessa, ma il codice lato server può essere usato per ottenere lo stesso risultato.

Panoramica

Il controllo Accordion in AJAX Control Toolkit fornisce più riquadri e consente all'utente di visualizzare uno di essi alla volta. I pannelli vengono in genere dichiarati all'interno della pagina stessa, ma il codice lato server può essere usato per ottenere lo stesso risultato.

Passaggi

Il controllo Accordion espone tutte le proprietà importanti al codice lato server. Tra le altre cose, la Panes proprietà concede l'accesso alla raccolta di riquadri che costituiscono la Accordion. Ogni riquadro è di tipo AccordionPane. È quindi semplice creare un riquadro di questo tipo:

Dim ap1 As New AccordionPane()

La HeaderContainer proprietà di AccordionPane fornisce l'accesso ai controlli ASP.NET all'interno della sezione intestazione del riquadro. La ContentContainer proprietà di AccordionPane esegue la stessa operazione per la sezione contenuto del riquadro. In questo modo ASP.NET codice può aggiungere contenuto ai riquadri:

ap1.HeaderContainer.Controls.Add(New LiteralControl("Using Code"))
ap1.ContentContainer.Controls.Add(New LiteralControl("Adding panes using code is really flexible."))

Infine, i riquadri devono essere aggiunti alla Panes raccolta di Accordion:

acc1.Panes.Add(ap1)

Ecco un codice lato server completo che aggiunge due riquadri a un controllo Accordion:

<script runat="server">
Sub Page_Load()
 If Not Page.IsPostBack Then
 Dim ap1 As New AccordionPane()
 ap1.HeaderContainer.Controls.Add(New LiteralControl("Using Markup"))
 ap1.ContentContainer.Controls.Add(New LiteralControl("Adding panes using markup is really simple."))
 Dim ap2 As New AccordionPane()
 ap2.HeaderContainer.Controls.Add(New LiteralControl("Using Code"))
 ap2.ContentContainer.Controls.Add(New LiteralControl("Adding panes using code is really flexible."))
 acc1.Panes.Add(ap1)
 acc1.Panes.Add(ap2)
 End If
End Sub
</script>

L'unico elemento mancante è il accordion stesso, che dipende dalla presenza del controllo ASP.NET ScriptManager :

<form id="form1" runat="server">
 <asp:ScriptManager ID="asm" runat="server" />
 <div>
 <ajaxToolkit:Accordion ID="acc1" runat="server" 
 HeaderCssClass="header" ContentCssClass="content" Width="300px" FadeTransitions="true">
 </ajaxToolkit:Accordion>
 </div>
</form>

Per completare l'esempio, le due classi CSS a cui si fa riferimento nel controllo Accordion forniscono informazioni sullo stile per il browser:

<style type="text/css">
 .header {background-color: blue;}
 .content {border: solid;}
</style>

I dati nella fisarmonica sono stati aggiunti dinamicamente dal codice lato server

I dati nella fisarmonica sono stati aggiunti dinamicamente dal codice lato server (fare clic per visualizzare l'immagine a dimensione intera)