Bonjour à tous,
Voilà j'ai l'erreur suivant lorsque j'ouvre une page "Parametres.aspx" :
Ma page hérite d'une page Maître qui lance depuis son pageLoad() les fonctions javascript suivantes :Erreur du serveur dans l'application '/'.
-----------------------------------------------------------------
La collection Controls ne peut pas être modifiée, car le contrôle
contient des blocs de code (c'est-à-dire <% ... %>).
Description : Une exception non gérée s'est produite
au moment de l'exécution de la demande Web actuelle.
Contrôlez la trace de la pile pour plus d'informations
sur l'erreur et son origine dans le code.
Détails de l'exception: System.Web.HttpException:
La collection Controls ne peut pas être modifiée,
car le contrôle contient des blocs de code (c'est-à-dire <% ... %>).
Erreur source:
Une exception non gérée s'est produite lors de l'exécution
de la demande Web actuelle. Les informations relatives à l'origine
et l'emplacement de l'exception peuvent être identifiées
en utilisant la trace de la pile d'exception ci-dessous.
Trace de la pile:
[HttpException (0x80004005): La collection Controls ne peut pas être
modifiée, car le contrôle contient des blocs de code (c'est-à-dire <% ... %>).]
System.Web.UI.ControlCollection.Add(Control child) +8677431
AjaxControlToolkit.ScriptObjectBuilder.RegisterCssReferences(Control control) +871
AjaxControlToolkit.ScriptControlBase.OnLoad(EventArgs e) +59
System.Web.UI.Control.LoadRecursive() +50
System.Web.UI.Control.LoadRecursive() +141
System.Web.UI.Control.LoadRecursive() +141
System.Web.UI.Control.LoadRecursive() +141
System.Web.UI.Control.LoadRecursive() +141
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +627
L'une de ces fonctions affiche la date et l'heure (timer), l'autre cache ou non certains menus.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 <script type="text/javascript" language="JavaScript"> function afficherHeure () { var Maintenant = new Date(); var heures = Maintenant.getHours(); var minutes = Maintenant.getMinutes(); var secondes = Maintenant.getSeconds(); heures = ((heures < 10) ? " 0" : " ") + heures; minutes = ((minutes < 10) ? ":0" : ":") + minutes; secondes = ((secondes < 10) ? ":0" : ":") + secondes; document.getElementById("<%=Horloge.ClientID%>").innerHTML = heures + minutes + secondes; setTimeout("afficherHeure()",1000); } function cacherMenu () { if (document.getElementById("<%=LabelHeaderPanelMenu.ClientID%>").innerHTML == "Menu") document.getElementById("<%=HiddenFieldCacherMenu.ClientID%>").innerHTML = "shown"; else document.getElementById("<%=HiddenFieldCacherMenu.ClientID%>").innerHTML = "hidden"; } </script>
L'erreur ne survient QUE pour ma page "Paramètres.aspx".
Si je commente le code javascript ci-dessus, ça marche.
Mais ça marche également si je supprime tous mes contrôles Ajax de ma page Paramètres....
J'ai d'ailleurs fait le test sur une page vierge : je suis arrivé à la conclusion que la combinaison de fonctions javascript dans ma page Maître, avec du code Ajax dans une page fille me donne cette erreur...
En sauriez-vous un peu plus sur ce qui m'arrive ???
Quelqu'un a-t-il obtenu la même erreur dans un cas similaire ?
Y a-t-il une incompatibilité quelconque Javascript/Ajax ??
Merci d'avance pour vos avis...
Partager