CalendarExtender picco della CPU

martedì 31 marzo 2009 - 10.42

biroph Profilo | Junior Member

Ciao a tutti, spero possiate aiutarmi,
ho un controllo ascx sul quale ho inserito due textbox e 2 CalendarExtender, il tutto racchiuso il un CollapsiblePanelExtender. Quando apro il calendario e mi sposto avanti o indietro con i mesi, la cpu spara al 97% e internet explorer si blicca fin tanto che non faccio click su un altra applicazione aperta o finestra, cioè se clicco su qualsiasi altra cosa aperta in quel momento sul pc, poi si sblocca e inizia a funzionare bene.

balfaz Profilo | Expert

ricordati che essendo controlli ajax, questi funzionano lato client cioè usando le risorse del tuo computer (lo dico come introduzione, senza conoscere il tuo livello come sviluppatore), comunque guarda un po se magari non entri in un piccolo loop che possa causare la ricarica della pagina e perciò la ricarica di questi controlli. comunque se ci puoi inviare un po di codice per capire meglio
Dove troverai sempre una mano disposta ad aiutarti è nell'estremo del tuo proprio braccio

biroph Profilo | Junior Member

Ciao,
grazie dell'aiuto. Ma ho un obiezione, se fosse un loop, perchè si interrompe nel momento in cui tolgo il fuoco dalla finestra di internet explorer?
ti posto la parte di codice inetressata.

Lato client:

<script language="javascript" type="text/jscript">
function Filtra() {
if (document.getElementById('<%=ibFiltri.ClientID%>').src.indexOf("unexpand.gif") != -1)
document.getElementById('<%=hfFiltri.ClientID%>').value = "unexpand";
else
document.getElementById('<%=hfFiltri.ClientID%>').value = "expand";
}
</script>

<asp:Panel ID="dvFiltri" runat="server" Style="height: 0px; overflow: hidden">
<table id="tblFiltriavanzati" cellpadding="0" cellspacing="0" class="filtri" border="0">
<tr>
<td colspan="6">
&nbsp;
</td>
</tr>
<tr>
<td class="destra">
<asp:Label ID="lblDataDa" runat="server" Text="Da"></asp:Label>
</td>
<td colspan="2" class="sinistra pleft">
<asp:TextBox ID="txtDataDa" runat="server" Width="100px" CssClass="testoData"></asp:TextBox>
<asp:ImageButton ID="imgBtnDataDa" runat="server" ImageUrl="../../../../Application_Data/NotaSpese/Images/calendar.png"
ToolTip="Apri calendario" OnClientClick="return false;" />
</td>
<td class="destra">
<asp:Label ID="Label2" runat="server" Text="Matricola"></asp:Label>&nbsp;
</td>
<td class="sinistra pleft">
<asp:TextBox ID="txtMatricola" runat="server" CssClass="testoData2"></asp:TextBox>
</td>
<td>
&nbsp;
</td>
</tr>
<tr>
<td class="destra">
<asp:Label ID="Label1" runat="server" Text="A"></asp:Label>&nbsp;
</td>
<td colspan="2" class="sinistra pleft">
<asp:TextBox CssClass="testoData" Width="100px" ID="txtDataA" runat="server"></asp:TextBox>
<asp:ImageButton ID="imgBtnDataA" runat="server" ImageUrl="../../../../Application_Data/NotaSpese/Images/calendar.png"
ToolTip="Apri calendario" OnClientClick="return false;" />
</td>
<td class="destra">
<asp:Label ID="Label3" runat="server" Text="N. Nota"></asp:Label>&nbsp;
</td>
<td colspan="2" class="sinistra pleft">
<asp:TextBox ID="txtModello" runat="server" CssClass="testoData2"></asp:TextBox>
<asp:ImageButton ID="ibSearch" runat="server" ImageUrl="../../../../Application_Data/NotaSpese/Images/cerca.png"
OnClick="ibSearch_Click" ToolTip="Esegui Ricerca" />
</td>
</tr>
<tr>
<td colspan="6">
&nbsp;
</td>
</tr>
</table>
</asp:Panel>
<ajaxToolkit:CalendarExtender ID="CalendarExtender1"
runat="server"
CssClass="CalendarNSPE"
TargetControlID="txtDataDa"
PopupButtonID="imgBtnDataDa">
</ajaxToolkit:CalendarExtender>
<ajaxToolkit:CalendarExtender ID="CalendarExtender2"
runat="server"
CssClass="CalendarNSPE"
TargetControlID="txtDataA"
PopupButtonID="imgBtnDataA" >
</ajaxToolkit:CalendarExtender>
<ajax:CollapsiblePanelExtender ID="CollapsiblePanelExtender1" runat="Server" TargetControlID="dvFiltri"
CollapsedSize="0" ExpandedSize="90" Collapsed="True" ExpandControlID="ibFiltri" CollapseControlID="ibFiltri"
AutoCollapse="False" AutoExpand="False" ScrollContents="False" ImageControlID="ibFiltri"
ExpandedImage="../../../../Application_Data/NotaSpese/Images/unexpand.gif" CollapsedImage="../../../../Application_Data/NotaSpese/Images/expand.gif"
ExpandDirection="Vertical" />
<asp:TextBox ID="hfFiltri" runat="server" AutoPostBack="true" Style="display: none"></asp:TextBox>

Lato server:

protected override void OnPreRender(EventArgs e)
{
if (hfFiltri.Text == "expand")
{
CollapsiblePanelExtender1.Collapsed = false;
CollapsiblePanelExtender1.ClientState = "false";
}
else
{
CollapsiblePanelExtender1.Collapsed = true;
CollapsiblePanelExtender1.ClientState = "true";
}

base.OnPreRender(e);
}

balfaz Profilo | Expert

prova a ovviare la procedura dell'evento prerender solo per provare a capire che non sia lì il problema.

Facci sapere!!!
Dove troverai sempre una mano disposta ad aiutarti è nell'estremo del tuo proprio braccio

biroph Profilo | Junior Member

Niente, anche senza il prerender spara la cpu a 100%

biroph Profilo | Junior Member

Ho provato a creare un altro campo data e metterlo fuori dal CollapsiblePanelExtender e funziona correttamente.
Vi premetto che lo stesso identico tipo di gestione viene utilizzato su altre applicazioni dove funziona correttamente.

biroph Profilo | Junior Member

Ciao,
allora, per dovere di cronaca, vi comunico i risultati delle innumerevoli prove effettuate.
Il problema si trova nelle impostazioni dello style grafico, cioè, c'è qualcosa nelle classi css utilizzate che manda in loop uqlche funzione interna del calendarextender. Adesso sto cercando di individuare il problema.
Vi ringrazio comunque dell'aiuto, come sempre prezioso.

Ciao Cristian

balfaz Profilo | Expert

sei riuscito ad approfondire nel problema?

Dove troverai sempre una mano disposta ad aiutarti è nell'estremo del tuo proprio braccio

biroph Profilo | Junior Member

Ciao,
è stata dura ma ce l'ho fatta. Si era creato un casino con i fogli di stile che avevano inserito i grafici. Ho trovato una classe in un css che era dichiara male e quindi dava dei problemi sulle tabelle che ospitano i CalendarExtender, non sò dove luppava ma la dichiarazione della classe era stata fatta male e ne veniva fuori il casino che mi ha portato via 2 giorni di lavoro.
Grazie dell'aiuto, ciao.

balfaz Profilo | Expert

pensa te!!!, ben per te , ci scriviamo
Dove troverai sempre una mano disposta ad aiutarti è nell'estremo del tuo proprio braccio
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5