Condividi tramite


Cenni preliminari su ASP.NET Dynamic Data

Aggiornamento: Luglio 2008

ASP.NET Dynamic Data è un framework che consente di creare facilmente applicazioni Web ASP.NET basate sui dati. Esegue questa operazione individuando automaticamente i metadati del modello dati in fase di esecuzione e deducendo da esso il comportamento dell'interfaccia utente. Il framework delle pagine di supporto temporaneo fornisce un sito Web funzionale per la visualizzazione e la modifica dei dati. Può essere facilmente personalizzato modificando gli elementi o creandone dei nuovi per eseguire l'override del comportamento predefinito. Le applicazioni esistenti possono facilmente integrare gli elementi delle pagine di supporto temporaneo con le pagine ASP.NET.

In questo argomento sono contenute le seguenti sezioni:

  • Introduzione

  • Funzionalità

  • Informazioni di supporto

  • Riferimento alle classi

  • Informazioni aggiuntive

Funzionalità

È possibile utilizzare ASP.NET Dynamic Data per creare nuovi siti Web basati sui dati che richiedono una quantità minima di codice e che sfruttano appieno le funzionalità del framework Dynamic Data. È inoltre possibile selezionare funzionalità specifiche di Dynamic Data da aggiungere ai siti Web esistenti.

Dynamic Data offre le seguenti funzionalità:

Informazioni di supporto

La natura dinamica di Dynamic Data consiste nel fatto che può dedurre l'aspetto e il comportamento dei campi dati dallo schema del database sottostante in fase di esecuzione. Questo meccanismo, unitamente alla disponibilità di modelli di pagina e campo predefiniti e a molte possibilità di personalizzazione offre numerose scelte di progettazione, tra cui:

  • Compilazione di un sito Web utilizzando le pagine di supporto temporaneo.

  • Aggiunta di Dynamic Data a un sito Web esistente.

  • Aggiunta della logica di business di convalida dei campi dati.

  • Personalizzazione dell'interfaccia utente di cui è stato eseguito il rendering per visualizzare e modificare determinati campi dati o una tabella specifica.

Modello dati

Il modello dati rappresenta le informazioni che si trovano in un database e come gli elementi nel database sono correlati tra loro.

Dynamic Data supporta i modelli dati LINQ to SQL e ADO.NET Entity Framework. È possibile includere più istanze di modelli dati in un'applicazione Web, ma i modelli utilizzati in Dynamic Data devono essere dello stesso tipo.

Si registra il modello o i modelli dati che si desidera utilizzare con Dynamic Data nel file Global.asax dell'applicazione Web. Una volta registrato con Dynamic Data, il modello dati può eseguire la convalida automatica dei campi dati e consente di controllare l'aspetto e il comportamento dei dati al livello dati.

Pagine di supporto temporaneo

Le pagine di supporto temporaneo sono un meccanismo che migliora il framework delle pagine ASP.NET esistenti con una visualizzazione dinamica delle pagine in base al modello dati. Le pagine di supporto temporaneo forniscono le seguenti funzionalità:

  • Creazione di un'applicazione Web basata sui dati con una quantità minima di codice o senza codice.

  • Tempi rapidi di sviluppo.

  • Convalida dei dati incorporati in base allo schema del database.

  • Creazione della selezione automatica dei dati per ogni campo di chiave esterna o booleano.

Modelli di pagina

Le pagine di supporto temporaneo di Dynamic Data utilizzano i modelli di pagina per fornire una visualizzazione predefinita delle tabelle dati. I modelli di pagina sono pagine Web ASP.NET configurate per visualizzare i dati da qualsiasi tabella disponibile per Dynamic Data. Dynamic Data include i modelli di pagina per diverse visualizzazioni di dati, ad esempio visualizzazione di una tabella (visualizzazione Elenco), visualizzazione tabelle Master-Details (visualizzazione Dettagli), modifica dei dati (visualizzazione Modifica) e così via. Per impostazione predefinita, Dynamic Data è configurato per utilizzare solo un modello di pagina visualizzazione Elenco. È possibile modificare il modello di pagina predefinito o Dynamic Data per utilizzare modelli di pagina diversi per scopi diversi. Per ulteriori informazioni, vedere la classe Infrastruttura ASP.NET Dynamic Data.

Modelli di campo

Dynamic Data utilizza i modelli di campo per eseguire il rendering dell'interfaccia utente per la visualizzazione e la modifica dei singoli campi dati. Determina il modello di campo adatto in base ai tipi di campo dati. Dynamic Data include modelli di campo diversi per la visualizzazione e la modifica dei campi dati.

Ad esempio, per un campo dati DateTime Dynamic Data utilizza i seguenti modelli di campo:

  • DateTime.ascx. Questo modello visualizza il tipo di dati DateTime come testo (una stringa) e ne esegue il rendering come controllo Literal.

  • DateTime_Edit.ascx. Questo modello consente di eseguire il rendering di un controllo TextBox . Se il campo nel database non può essere null o se il modello dati è stato personalizzato per richiedere una voce, questo controllo esegue il rendering anche di un controllo RequiredFieldValidator. Il modello di campo DateTime_Edit.ascxfornisce un controllo DynamicValidator che gestisce eventuali eccezioni generate dal modello dati. Supporta inoltre la classe Regex.

Quando si crea un progetto Web Dynamic Data, Visual Studio aggiunge ad esso una cartella DynamicData\FieldTemplates. Questa cartella contiene i modelli di campo predefiniti.

È possibile personalizzare i modelli di campo incorporati o crearne dei nuovi per specificare come viene eseguito il rendering dei singoli campi dati. Ad esempio, è possibile creare modelli di campo che eseguono il rendering dell'interfaccia utente per la visualizzazione e la modifica di numeri di telefono o di indirizzi di posta elettronica. Un altro esempio è costituito dalla possibilità di creare modelli di campo che eseguono il rendering dell'interfaccia utente per l'utilizzo di metodi alternativi (ad esempio un dispositivo di scorrimento) per consentire agli utenti di specificare dati numerici.

Miglioramento dei controlli dati esistenti

Dynamic Data migliora i controlli dati esistenti per includere il comportamento dinamico nei seguenti modi:

  • I controlli DetailsView e GridView possono visualizzare i dati dinamicamente tramite i modelli predefiniti di Dynamic Data anziché richiedere di ricreare lo stesso markup e codice per i controlli dei dati in ogni pagina. È possibile personalizzare questi modelli per modificare i controlli da utilizzare e il rendering dell'interfaccia utente per la visualizzazione e la modifica dei campi dati. In tal modo è possibile apportare modifiche in un'unica posizione e modificare l'aspetto e il comportamento dei controlli dati in tutta l'applicazione Web. Tale situazione si verifica indipendentemente dalla tabella specificata, in modo che un modello di pagina possa essere utilizzato per qualsiasi tabella presente nel database. Per ulteriori informazioni, vedere la classe Procedura: aggiungere un comportamento Dynamic Data a controlli con associazione a dati mediante l'utilizzo di un campo DynamicField.

  • I controlli FormView e ListView possono implementare un comportamento simile a quello per i controlli DetailsView e GridView utilizzando nei rispettivi modelli un controllo DynamicControl e specificando quale campo della riga visualizzare. Dynamic Data compilerà automaticamente l'interfaccia utente per questi controlli in base ai modelli specificati. I controlli DynamicControl non eseguono automaticamente il rendering dell'interfaccia utente per qualsiasi campo; è necessario associare i controlli a un campo dati specifico. Per ulteriori informazioni, vedere la classe Procedura: utilizzare ASP.NET Dynamic Data nei controlli con associazione a dati e basati su modelli.

  • Dynamic Data esamina i metadati dei modelli dati per un modello dati LINQ to SQL o Entity Framework e fornisce la convalida automatica in base ai metadati. Ad esempio, se una colonna nel database è contrassegnata come non nullable, viene automaticamente eseguito il rendering di un controllo RequiredFieldValidator per la colonna. È inoltre possibile applicare metadati personalizzati per personalizzare ulteriormente la modalità di rendering e di convalida dei campi dati. Per ulteriori informazioni, vedere la classe Procedura: personalizzare la convalida dei campi dati nel modello di dati.

Riferimento alle classi

Nella tabella seguente vengono elencati gli spazi dei nomi che contengono le classi ASP.NET Dynamic Data.

Namespace

Descrizione

System.ComponentModel.DataAnnotations

Fornisce le classi Attribute utilizzate per definire i metadati per i controlli Dynamic Data.

System.Web.DynamicData

Contiene le classi che forniscono le funzionalità principali per ASP.NET Dynamic Data. Fornisce inoltre funzionalità di estensibilità per personalizzare il comportamento di Dynamic Data.

Informazioni aggiuntive

Di seguito sono riportati alcuni suggerimenti per ulteriori esplorazioni:

  • Informazioni sul routing degli URL. Per ulteriori informazioni, vedere la classe Routing di ASP.NET.

  • Informazioni sul mapping relazionale a oggetti LINQ to SQL. Per ulteriori informazioni, vedere la classe LINQ to SQL.

  • Informazioni su ADO.NET Entity Framework. Per ulteriori informazioni, vedere ADO.NET Entity Framework.

Torna all'inizio

Vedere anche

Attività

Procedura dettagliata: creazione di un nuovo sito Web Dynamic Data utilizzando le pagine di supporto temporaneo.

Procedura dettagliata: aggiunta di Dynamic Data a un sito Web esistente

Concetti

Infrastruttura ASP.NET Dynamic Data

Cenni preliminari sulle pagine di supporto temporaneo e sui modelli di pagina di ASP.NET Dynamic Data

Aggiunta di un comportamento dinamico ai controlli ASP.NET con associazione a dati

Cenni preliminari sui modelli di campo di ASP.NET Dynamic Data

Cenni preliminari sul modello di ASP.NET Dynamic Data

Cronologia delle modifiche

Date

History

Motivo

Luglio 2008

Argomento aggiunto.

Modifica di funzionalità in SP1.