Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
ASP.NET 2.0 / 3.5 / 4.0
Repeater e databind come condizionare il layout
sabato 02 giugno 2007 - 15.15
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
gigi90
Profilo
| Senior Member
285
messaggi | Data Invio:
sab 2 giu 2007 - 15:15
Salve a tutti, ho utilizzato un repeater per presentare in modo formattato dati provenienti da un database, adesso vorrei sapere se esiste un modo per rendere la dormattazione di un repeater condizionata(in base al valore di un campo della sorgente dati, cioè mettere ad esempio un if, se il dato è uguale ad un valore mi associa un testo altrimenti, mi associa un altro, ho risolto in un certo senso utilizzando l'operatore ternario di C# ? nel modo seguente:
<AlternatingItemTemplate>
<tr>
<td>
<%# (DataBinder.Eval(Container.DataItem,"Stato").ToString()==true.ToString())? "Ciao":"ok" %>
</td>
</tr>
</AlternatingItemTemplate>
ma credo che ci sia un altro modo per fare una cosa del genere, ad esempio se dovrei fare una cosa del genere in VB.Net, potete dirmi come fare??? Grazie!!
alx_81
Profilo
| Guru
8.814
messaggi | Data Invio:
dom 3 giu 2007 - 01:49
>Salve a tutti,
Ciao!
>ho utilizzato un repeater per presentare in modo
>formattato dati provenienti da un database, adesso vorrei sapere
>se esiste un modo per rendere la dormattazione di un repeater
>condizionata(in base al valore di un campo della sorgente dati,
>cioè mettere ad esempio un if, se il dato è uguale ad un valore
>mi associa un testo altrimenti, mi associa un altro, ho risolto
>in un certo senso utilizzando l'operatore ternario di C# ? nel
>modo seguente:
>
> <AlternatingItemTemplate>
> <tr>
> <td>
><%# (DataBinder.Eval(Container.DataItem,"Stato").ToString()==true.ToString())?
>"Ciao":"ok" %>
> </td>
> </tr>
> </AlternatingItemTemplate>
>ma credo che ci sia un altro modo per fare una cosa del genere,
>ad esempio se dovrei fare una cosa del genere in VB.Net, potete
>dirmi come fare??? Grazie!!
Quello che hai utilizzato tu può essere un metodo. Ma di solito preferisco mettere la logica della gestione del dato direttamente nel Data Layer. Mi spiego.. Siccome l'informazione proviene dal database, preferisco mettere una case nella query che gestisca l'output, in modo da dover intervenire il meno possibile sull'applicazione.
Immagina ad esempio che il testo da visualizzare cambi se cambia la logica su database, oppure se il campo stato può assumere nuovi valori. Ovunque metti questa logica dovrai intervenire per correggerla.. Al contrario, se sei su database, basta modificare la query e sei sicuro che l'applicazione si aggrapperà sempre al risultato di output, strutturalmente inalterato.
In questo caso direi che ti puoi spostare sul DB. Ovviamente, ci sono casi in cui è forse meglio rimanere sull'applicazione, ma nel tuo caso, sposterei il tutto su database.
Alx81 =)
http://blogs.dotnethell.it/suxstellino
gigi90
Profilo
| Senior Member
285
messaggi | Data Invio:
dom 3 giu 2007 - 10:46
Grazie per la tua analisi, infatti credo che mi creerò una stored procedure che mi elabora il risultato della query!!
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !