17 messaggi dal 16 febbraio 2005
Ciao, spero di non porre una domanda banale, ma portate pazienza, sono alle prime armi con asp.net.
La questione è la seguente: ho una GridView che contiene un TemplateField. In questo campo vorrei valutare una condizione e, a seconda del risultato, mostrare un valore o un altro.
Ecco il mio codice:

<asp:TemplateField>
<ItemTemplate>
<% if ( ???QUALCOSA??? ) then %>
<a href="<%# Eval("url") %>">url</a>
<% else %>
url non presente
<% end if %>
</ItemTemplate>
</asp:TemplateField>

Cosa devo mettere al posto di (???QUALCOSA???) per poter esprimere una cosa del tipo
if (Eval ("url") != null)
che, invece, non mi funziona?
grazie a chi avrà la pazienza di darmi una mano!
Ciao!
3.121 messaggi dal 29 ottobre 2001
Contributi | Blog
La tecnica giusta è creare una funzione apposita che esegua la condizione e che restituisca la stringa da visualizzare corretta al GridView. Per esempio:

<asp:TemplateColumn HeaderText="xxx">
<ItemTemplate>
<%#
Controlla(DataBinder.Eval(Container.DataItem,"url").ToString()) %>
</ItemTemplate>
</asp:TemplateColumn>

Quindi la funzione:
function Controlla(url) as string
if (url="") then
return "Url non presente!"
end if
' se dev'essere visulizzato il link
return "<a href='"+url+"'>url</a>"
end function


Ciao

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.