11 messaggi dal 11 agosto 2013
Salve,
vorrei sapere se è possibile inserire una "if" con all'interno una "Eval" per far si che un elemento sia mostrato o meno nella pagina aspx.
Faccio presente che esiste un sqldataSource funzionante all'interno della pagina.
Ho pensato ad una cosa del genere ma non funziona :

<% if(Eval("isApproved").ToString().ToLower()=="true") { %> html <% }%>

L'errore che genera è : I metodi di associazione dati come Eval(), XPath() e Bind() possono essere utilizzati solo nel contesto di un controllo con associazione a dati


Grazie in anticipo
11.886 messaggi dal 09 febbraio 2002
Contributi
ciao,

red ha scritto:

vorrei sapere se è possibile inserire una "if" con all'interno una "Eval" per far si che un elemento sia mostrato o meno nella pagina aspx.

Certamente, segui il consiglio che ti è stato dato dall'errore:

I metodi di associazione dati come Eval(), XPath() e Bind() possono essere utilizzati solo nel contesto di un controllo con associazione a dati

Questo significa che dovresti usare Eval in un'espressione di binding, cioè all'interno dei tag <%# e %>. Dato che IsApproved restituisce un valore booleano, possiamo usarlo per valorizzare la proprietà Visible di un PlaceHolder.
<asp:Placeholder Visible='<%# (bool) Eval("IsApproved") %>' runat="server">
  metti l'HTML qui
</asp:Placeholder>

In questo modo riesci a mostrare/nascondere l'html senza aver usato un if, ma controllando la visibilità del suo contenitore.

ciao,
Moreno

Enjoy learning and just keep making

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.