Il databinding ed i controls che lo supportano, come DataGrid, DataList e Repeater, sono davvero utili, perchè permettono di associare i dati estratti da una fonte qualsiasi in maniera ciclica, con una pulizia del codice elevata ed una separazione reale tra codice e sua rappresentazione.
Quello che molti non sanno è che si può passare il valore di una delle colonne del container ad una funzione esterna, per formattazioni o calcoli.
In questo esempio la funzione è molto banale: restituisce un'immagine con una GIF particolare se il valore del campo è true, un'altra se il valore del campo è false.
Ovviamente, ci sono utilizzi più avanzati (e forse utili) di quello presentato, ma il concetto non si distacca di una virgola.
<%@ Import Namespace="System.Data"%> <%@ Import Namespace="System.Data.SQLClient"%> <SCRIPT LANGUAGE="VB" RUNAT="SERVER"> Sub Page_Load(sender As Object, e As EventArgs) ' caricamento dei dati dal database End Sub Function Immagine(valore as Boolean) as String If valore = true then Return "<img src=""approvato.gif"">" Else Return "<img src=""bloccato.gif"">" End If End Function </SCRIPT> <asp:repeater id="queryres" runat="server"> <itemTemplate> <%#Container.DataItem("Nome")%> <%#Immagine(Container.DataItem("Approvato"))%> </itemTemplate> </asp:repeater>
Per approfondimenti sul databinding:
#302 - Data binding con ADO.NET
https://www.aspitalia.com/liste/usag/script.aspx?ID=302
#382 - Il controllo DataList
https://www.aspitalia.com/liste/usag/script.aspx?ID=382
#445 - La paginazione manuale con il DataSet di ADO.NET ed un Repeater
https://www.aspitalia.com/liste/usag/script.aspx?ID=445
La categoria System.Data:
https://www.aspitalia.com/ricerca/super.aspx?usag=1&azione=categoria&key=System.Data
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Effettuare il deploy di immagini solo da container registry approvati in Kubernetes
Short-circuiting della Pipeline in ASP.NET Core
Effettuare il binding di date in Blazor
Load test di ASP.NET Core con k6
Personalizzare l'errore del rate limiting middleware in ASP.NET Core
Implementare il throttling in ASP.NET Core
Eseguire un metodo asincrono dopo il set di una proprietà in Blazor 8
I più letti di oggi
- Utilizzare Docker Compose con Azure App Service
- Modernizzare le applicazioni WPF e Windows Forms con Blazor
- 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
- Steel Style CheckBox per Silverlight 4.0
- Utilizzare QuickGrid di Blazor con Entity Framework