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.