38 messaggi dal 18 luglio 2003
Ho questo scenario:
una pagina principale che contiene uno user control in cache; questo user control contiene un controllo (Collpsablepanel di ExcentricsWordl) che funziona lato client inserendo codice js nella pagina; quando ricarico la pagina e lo user control è ancora cachato il codice jsnon viene inserito nella pagina e il controllo che lo usa (il panel) non funziona. Qualcuno ha qualche idea ?
grazie
non ho capito benissimo ma la prima cosa che mi viene in mente è quella di disattivare la cache solo per lo user control

xiaaooz

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

http://nostromo.spaces.live.com/default.aspx
38 messaggi dal 18 luglio 2003
il controllo mostra informazioni statiche contenute in un pannello collassabile; il pannello è un controllo freeware che quando si renderizza inserisce il codice js necessario al suo funzionamento; la cache è utile perchè le informazioni sono statiche mentre il resto della pagina contenitore viene refreshata molto spesso; quando la pagina contenitore viene refrreshata la parte del controllo utente viene prelevata dalla cache quindi il pannello collassabile, che sitrova nel controllo utente, non renderizza più il codice js necessario per il suo funzionamento. Al momento la soluzione che ho trovato è stata quella di esaminare il codice js inserito nell pagina contenitore laprima volta e inserirlo nel mio controllo utente; in questo modo la prima volta sarà duplicato però ai successivi postback della pagina contenitore sarà sempre disponibile
nel tuo controllo utente hai il seguente codice (o simile)

protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{....istuzioni}
}

prova a tirare fuori il codice necessario all'inizializzazione del pannellocollassabile

xiaaooz


p.s. se ti è possibile posta il codice del controllo utente (almeno una parte)


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

http://nostromo.spaces.live.com/default.aspx
38 messaggi dal 18 luglio 2003
controllo utente:
<%@ Control Language="vb" AutoEventWireup="false" Codebehind="statinfo.ascx.vb" Inherits="lsi_meteo.statinfo" TargetSchema="http://schemas.microsoft.com/intellisense/ie5" %>
<%@ Register TagPrefix="ew" Namespace="eWorld.UI" Assembly="eWorld.UI, Version=1.9.0.0, Culture=neutral, PublicKeyToken=24d65337282035f2" %>
<%@ OutputCache Duration="300" VaryByControl="panTxt" Shared="True" %>

<ew:CollapsablePanel id="panTxt" runat="server"> .. contenuto vario </ew:CollapsablePanel>

codebehind del controllo utente:
nel page_load imposta il contenuto

Il problema nasce dal fatto che quando questo User viene renderizzato il controllo CollapsablePane inserisce del codice js lato client nell apagina chiamante per gestire il pannello; quando si fa il postback della pagina contenitore pocihè lo UserControl è in cache il codice dello UserControl non viene eseguito, il controllo CollapsablePane non renderizza più e nella pagina chiamante sparisce il js necessario. Credo proprio che l'unica soluzione sia quella di estrarre il codice js che viene creato dal controllo CollapsablePane è inserirlo manualmente nella pagina contenitore
ho paura che sia necesario reinserire il codice a mano, se non c'è modo di modificare il menù collassabile

ma eliminare l'user control dalla cache porta un grande degeneramento delle prestazioni?

xiaaooz

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

http://nostromo.spaces.live.com/default.aspx
38 messaggi dal 18 luglio 2003
sinceramente non so; comunque così va. grazie lo stesso

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.