ASP.NET 2.0 offre la possibilità di utilizzare una nuova sintassi di binding, chiamato two-way perchè è in grado di inviare il valore modificato alla sorgente impostata attraverso la proprietà DataSourceID.
In pratica consente di utilizzare, in controlli come GridView, la possibilità di propagare direttamente ai parameters, in caso di update o insert, i valori modificati attraverso i controls.
Un caso particolare in cui può essere davvero comodo è all'interno di una GridView, con un TemplateField all'interno del quale venga definita una DropDownList, in questo modo:
<asp:TemplateField HeaderText="Categoria"> <EditItemTemplate> <asp:DropDownList runat="server" DataSourceID="categoriesDS" DataTextField="Description" DataValueField="ID" SelectedValue='<%# Bind("ID") %>' /> </EditItemTemplate> ... </asp:TemplateField>
L'utilizzo dell'istruzione
<%# Bind("nomeproprietà")%>
fa sì che venga gestito il recupero del valore del parametro anche per inserimenti e modifiche.
Questa tecnica funziona anche con DataSource diversi dal SqlDataSource, come ObjectDataSource, ed ha l'unico limite di funzionare quando il controllo interno, in questo caso la nostra DropDownList, viene a sua volta popolata attraverso un DataSource Control e non utilizzando un approccio come quello utilizzato nella versione 1.x.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Implementare il throttling in ASP.NET Core
Personalizzare l'errore del rate limiting middleware in ASP.NET Core
Supportare il sorting di dati tabellari in Blazor con QuickGrid
Effettuare il deploy di immagini solo da container registry approvati in Kubernetes
Short-circuiting della Pipeline in ASP.NET Core
Load test di ASP.NET Core con k6
I più letti di oggi
- Utilizzare Docker Compose con Azure App Service
- Utilizzare QuickGrid di Blazor con Entity Framework
- Modernizzare le applicazioni WPF e Windows Forms con Blazor
- ASP 3 per esempi
- annunciato #netstandard 2.1. .NET Core lo supporterà a partire da #netcore3, così come le prossime versione di #xamarin, #mono e #unity.il supporto per #netfx 4.8, invece, non ci sarà. https://aspit.co/bq2