16 messaggi dal 05 aprile 2007
Salve a tutti,

Vorrei fare in modo che un HtmlControl di tipo div abbia una proprietà Visible impostata a false o true a seconda del risultato di una funzione.

Quindi ho impostato il codice in questo modo:
<div runat="server" id="div1" visibile="<%=VisibleDiv(1)%>">
  prova
</div>


La funzione VisibleDiv restituisce un boolean. Quando però eseguo questa pagina mi viene restituito ils eguente errore
 Errore del parser
Descrizione: Errore durante l'analisi di una risorsa necessaria per soddisfare la richiesta. Rivedere i dettagli relativi all'errore e modificare in modo appropriato il file di origine.

Messaggio di errore del parser: Impossibile creare un oggetto di tipo 'System.Boolean' dalla relativa rappresentazione di stringa '<%=VisibileDiv(1)%>' per la proprietà 'Visible'.


Ora, questo div che richiama la funzione non si trova all'interno di un repeater o controlli simili quindi ho usato il tag <%= %> credendo che avrebbe restituito il valore di ritorno della funzione.

Ho risolto con un pochino di code behind, ma solo per curiosità, se volessi portare avanti questo sistema c'è modo di farlo o è possibile farlo solo da codice?

Grazie
l'approccio giusto secondo me è quello di impostare queste proprietà nel CodeBehind, lasci il codice di markup più pulito e senza interferenza.

comunque potresti usare <%# funzione() %> ma dovresti sempre richiamare il metodo DataBind per farla valutare

ciao marco

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
426 messaggi dal 17 aprile 2006
non si possono usare espressioni <%= %> per settare le proprietà lato server dei controlli perchè il costrutto <%= viene eseguito solo durante il rendering del corpo della pagina. ergo va bene per restituire stringhe (tra cui anche un bel style="display:none;") ma non per il settaggio di proprietà lato server che avviene durante il parsing.

dunque o fai il bind come suggerito da nostromo e usi il <%# oppure fai da te ad esempio gestendo l'evento onLoad e li facendo il casting del sender metti le proprietà che vuoi

Ciao Alessandro
16 messaggi dal 05 aprile 2007
Grazie mille ad entrambi!!!

Come sempre, precisi e concisi

Grazie ancora

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.