17 messaggi dal 03 ottobre 2008
Buongiorno a tutti,
ho un problema su cui mi sto scervellando da vari giorni.

In una applicazione web, per cambiare l'immagine di sfondo secondo l'area su cui si punta,
nello Style della pagina master, ho inserito queste istruzioni:

background-image: url(<%=strBGImage%>);
background-repeat: no-repeat;
background-position: center;

che inserisce, nel centro della pagina, una immagine scelta da codice, nelle successive diverse pagine .aspx .

Tutto ha funzionato bene finche non ho usato un tabContainer AJAX; a questo punto viene un messaggio di errore.

Dopo vari tentativi ho isolato il problema, che risulta dato dall'istruzione <%=strBGImage%> nello Style. Sembra che i controlli AJAX non accettino quel tipo di istruzione, i blocchi di codice, in quel punto.

Allora ho provato a migrare tutto lo Style in un file .css e nonostante la presenza di quella istruzione, non mi ha dato più messaggi di errore. Il problema è che però, non mi appaiono più neppure le immagini di sfondo.

Sembra che non venga più vista la variabile strBGImage che contiene il path e il nome dell'immagine.

Qualcuno può darmi una dritta per risolvere il problema?

Ringrazio anticipatamente tutti per qualunque contributo.
10.286 messaggi dal 09 febbraio 2002
Contributi
Ciao,
i file .css non vengono interpretati dal runtime di ASP.NET, ed è questo il motivo per cui non vedi più le immagini. L'espressione <%=strBGImage%> semplicemente non viene valutata.

Dovresti tornare alla soluzione precedente, quella in cui lo stile era nella pagina ASPX (almeno la regola background-image che valorizzi dinamicamente. Tutto il resto può trovarsi in un file css).

Anziché usare l'espressione <%=strBGImage%>, usa invece un <asp:Literal id="backgroundImage" runat="server" />.
background-image: url(<asp:Literal id="backgroundImage" runat="server" />);


E lo valorizzi dal codefile in questo modo, dal Page_PrePrerender, dal Page_Load o da altro evento della pagina che tu ritenga opportuno.
backgroundImage.Text = strBGImage;


Essendo il Literal un controllo server, anziché un'espressione, dovrebbe essere digerito meglio dai controlli ajax.

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.