Il controllo FormView è una delle novità introdotte da ASP.NET 2.0 nell'area dei Data Controls. Insieme a GridView e DetailsView, consente di gestire la visualizzazione e modifica dei dati, anche in unione ai nuovi DataSource control che utilizzano la sintassi dichiarativa.
Rispetto al DetailsView, il FormView consente di dotare le proprie applicazioni di un layout più controllato, dato che non utilizza il tipico stile a griglia. Supporta la visualizzazione o modifica di un solo record per volta ed ha le stesse caratteristiche di controlli a Template già conosciuti, come il Repeater.
Per personalizzarne l'aspetto, infatti, è necessario utilizzare i Template, così da associare visualizzazioni differenti agli stati in cui si trova il controllo.
Le funzioni possono essere richiamate attraverso dei Button o LinkButton, la cui proprietà CommandName può assumere i seguenti valori:
- "Edit": cambia la visualizzazione, passando a quella di modifica;
- "Update": conferma le modifiche, se in modalità di visualizzazione;
- "Cancel": annulla le modifiche;
- "Insert": cambia la visualizzazione, passando a quello di inserimento;
- "New": conferma i dati inseriti, se in modalità di inserimento.
<asp:FormView id="EmployeeFormView" DataSourceID="AuthorsSource" runat="server"> <HeaderTemplate> <asp:linkbutton id="InsertButton" Text="Nuovo" CommandName="Insert" runat="server"/> </HeaderTemplate> <ItemTemplate> <li><%#Eval("au_FName")%> <%#Eval("au_LName")%> <asp:linkbutton id="EditButton" Text="Modifica" CommandName="Edit" runat="server"/></li> <hr /> </ItemTemplate> <EditItemTemplate> Nome: <asp:TextBox id="FirstName" runat="server" Text='<%#Bind("au_FName")%>' /><br /> Cognome: <asp:TextBox id="LastName" runat="server" Text='<%#Bind("au_LName")%>' /><br /> Indirizzo: <asp:TextBox id="Address" runat="server" Text='<%#Bind("address")%>' /><br /> <asp:LinkButton id="UpdateButton" Text="Aggiorna" CommandName="Update" runat="server"/> <asp:LinkButton id="CancelButton" Text="Annulla" CommandnNme="Cancel" runat="server"/> </EditItemTemplate> <InsertItemTemplate> Nome: <asp:TextBox id="FirstName" runat="server" Text='<%#Bind("au_FName")%>' /><br /> Cognome: <asp:TextBox id="LastName" runat="server" Text='<%#Bind("au_LName")%>' /><br /> Indirizzo: <asp:TextBox id="Address" runat="server" Text='<%#Bind("address")%>' /><br /> <asp:LinkButton id="UpdateButton" Text="Inserisci nuovo" CommandName="New" runat="server"/> <asp:LinkButton id="CancelButton" Text="Annulla" CommandnNme="Cancel" runat="server"/> </InsertItemTemplate> </asp:FormView>
In questo esempio è stato utilizzato un DataSource control di tipo SqlDataSource, abbinato alla tabella pubs.
Approfondimenti
Controlli DataSource in ASP.NET 2.0
https://www.aspitalia.com/articoli/asp.net2/DataSource.aspx
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Eseguire un metodo asincrono dopo il set di una proprietà in Blazor 8
Effettuare il binding di date in Blazor
Load test di ASP.NET Core con k6
Short-circuiting della Pipeline in ASP.NET Core
Personalizzare l'errore del rate limiting middleware in ASP.NET Core
Effettuare il deploy di immagini solo da container registry approvati in Kubernetes
Implementare il throttling in ASP.NET Core
I più letti di oggi
- Miglioramenti nelle performance di Angular 16
- Ottimizzare le performance delle collection con le classi FrozenSet e FrozenDictionary
- HTML5 con CSS e JavaScript
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- Ottimizzazione dei block template in Angular 17
- Disabilitare automaticamente un workflow di GitHub (parte 2)