Creazione di un controllo Web part con associazione ai dati
Aggiornamento: novembre 2007
Con l'eredità dalla classe base WebPart è possibile fornire funzionalità Web part a un controllo server standard con associazione a dati. Nelle applicazioni Web part gli utenti finali possono modificare, e quindi personalizzare, il comportamento e l'interfaccia utente dei controlli server e salvare le impostazioni in un archivio a lungo termine per le successive sessioni del browser. Gli utenti possono modificare drasticamente l'aspetto di una pagina aggiungendo o rimuovendo controlli, modificando le proprietà e l'aspetto dei controlli, disponendo un nuovo layout di pagina, importando o esportando impostazioni per i controlli e addirittura stabilendo connessioni che consentono ai controlli di condividere dati. Per ulteriori informazioni sulle applicazioni Web part, vedere gli argomenti riportati in Controlli Web part ASP.NET. In questo argomento vengono descritti i prerequisiti per l'utilizzo di un controllo WebPart con associazione a dati, o altro controllo server, in un'applicazione Web part e vengono riepilogati i membri della classe base WebPart che vengono spesso implementati o sottoposti a override durante la creazione di un controllo personalizzato. Per un esempio di override e implementazione di alcuni di questi membri, vedere l'argomento Esempio di controllo Web part con associazione ai dati.
Elementi richiesti per l'utilizzo di un controllo Web part
Nessun controllo Web part può essere eseguito in isolamento e tuttavia conservare le funzionalità Web part. Se si esegue un controllo WebPart in un'applicazione Web senza gli altri elementi richiesti per un'applicazione Web part, il controllo perde semplicemente le funzionalità Web part e viene eseguito come un controllo server standard. Di seguito vengono descritti gli elementi necessari che devono essere presenti prima di potere utilizzare un controllo WebPart personalizzato con le funzionalità Web part:
Controllo WebPartManager. Questo controllo deve essere presente in ogni pagina che offre funzionalità Web part. Per informazioni dettagliate, vedere Cenni preliminari sul set di controlli Web part.
Un controllo area WebPartZoneBase. Nella pagina Web deve essere presente un'area derivata da questa classe astratta, ad esempio il controllo WebPartZone, per contenere i controlli WebPart. Per informazioni dettagliate, vedere Cenni preliminari sul set di controlli Web part.
Un sito Web ASP.NET in grado di riconoscere i singoli utenti tramite l'autenticazione Windows o basata su form. Per informazioni dettagliate sulla creazione di un sito o di una directory virtuale, vedere Procedura: creare e configurare directory virtuali in IIS 5.0 e 6.0 o Procedura: creare e configurare siti Web ASP.NET locali in IIS 6.0.
Un database e un provider di personalizzazioni configurati per archiviare le impostazioni utente relative ai controlli. La personalizzazione di Web part è attivata per impostazione predefinita e utilizza il provider di personalizzazioni SQL (SqlPersonalizationProvider) con Microsoft SQL Server Express (SSE) per la memorizzazione dei dati di personalizzazione. In questa procedura dettagliata vengono utilizzati SSE e il provider SQL predefinito. Se SSE è già installato non è necessaria alcuna configurazione. SSE è disponibile con Microsoft Visual Studio 2005 come parte facoltativa dell'installazione oppure può essere scaricato gratuitamente dal sito Microsoft.com. Per utilizzare una delle versioni complete di Microsoft SQL Server, è necessario installare e configurare un database dei servizi dell'applicazione ASP.NET e configurare il provider di personalizzazioni SQL per la connessione a tale database. Per informazioni dettagliate, vedere Creazione e configurazione del database dei servizi dell'applicazione per SQL Server. È inoltre possibile creare e configurare un provider personalizzato da utilizzare con altri database o soluzioni di memorizzazione non basati su SQL. Per informazioni dettagliate e il codice di esempio, vedere Implementazione di un provider di appartenenze.
Membri di Web part comunemente utilizzati o sottoposti a override
Sebbene sia possibile utilizzare qualsiasi tipo di controllo server nelle applicazioni Web part, la creazione di controlli WebPart personalizzati offre dei vantaggi. Per informazioni dettagliate, vedere Utilizzo di controlli server ASP.NET in applicazioni Web part. Quando si eredita dalla classe base WebPart, non è necessario implementare membri. È tuttavia possibile utilizzare o sottoporre a override alcuni membri di uso comune, descritti nella seguente tabella. Per un esempio completo di un controllo server con associazione a dati implementato come un controllo WebPart, vedere Esempio di controllo Web part con associazione ai dati. Nella tabella seguente vengono descritti alcuni dei membri di uso comune.
Membro |
Descrizione |
---|---|
Questo costruttore viene in genere utilizzato per impostare i valori predefiniti di alcune proprietà che determinano l'aspetto e il comportamento di un controllo WebPart, come le proprietà ereditate dalla classe Part, o le proprietà di comportamento, come AllowEdit e AllowLayoutChange. |
|
Proprietà di comportamento |
Include una serie di proprietà "Allow" della classe, come AllowClose, AllowConnect, AllowEdit, AllowMinimize, AllowLayoutChange e AllowZoneChange. Invece di assegnare semplicemente i valori predefiniti a queste proprietà nel costruttore, gli sviluppatori possono esercitare un controllo completo su una proprietà, ad esempio per impedire agli utenti o agli sviluppatori che utilizzano un controllo di chiuderlo. |
Se si eredita dalla classe WebPart, è necessario fornire un'interfaccia utente per il controllo personalizzato. Un metodo molto efficace consiste nell'eseguire l'override del metodo CreateChildControls e aggiungere, all'interno del metodo, altri controlli server per creare l'interfaccia utente del controllo personalizzato. Potrebbe essere necessario eseguire altre azioni quando si aggiungono questi controlli, ad esempio creare gestori eventi personalizzati per i controlli o associazioni a origini dati. |
|
Metodi di rendering |
Potrebbe essere necessario eseguire l'override di metodi di rendering comuni quali RenderControl o RenderContents. In questi metodi è possibile eseguire completamente l'override del rendering oppure chiamare prima il metodo di base e poi modificare alcuni aspetti del rendering. |
Se si creano oggetti WebPartVerb personalizzati da includere nel menu dei verbi del controllo insieme ai verbi standard, come Chiudi e Riduci a icona, è necessario aggiungerli all'insieme Verbs del controllo. |
|
Se si creano controlli EditorPart personalizzati, per consentire agli utenti di modificare le proprietà personalizzate del controllo, è necessario associarle al controllo eseguendo l'override del metodo CreateEditorParts. Per un esempio, vedere l'interfaccia IWebEditable. |
|
Quando si creano proprietà personalizzate nel controllo WebPart, spesso si desidera consentire agli utenti di modificare e personalizzare tali proprietà, proprio come per le proprietà dei controlli WebPart standard, in modo che possano salvare le loro impostazioni. Aggiungere l'attributo di metadati Personalizable a tutte le proprietà che gli utenti devono potere personalizzare. |
Esempio di controllo Web part con associazione a dati
Per un esempio di codice completo che illustra come creare un controllo GridView associato al database Northwind e che implementa il controllo come un controllo WebPart, vedere Esempio di controllo Web part con associazione ai dati.
Vedere anche
Attività
Procedura dettagliata: creazione di una pagina Web part
Concetti
Cenni preliminari su Web part ASP.NET