Erreur <%@ Page EnableEventValidation="true" %>

Résolu
babybutt Messages postés 39 Date d'inscription mardi 20 mai 2003 Statut Membre Dernière intervention 22 février 2006 - 9 févr. 2006 à 22:06
 aminbj - 22 oct. 2008 à 09:35
Bonsoir,

Depuis tout à l'heure j'ai cette erreur sur mon projet, je ramène le boulot à la maison parce que j'ai une présentation du projet lundi devant la direction. Mais MALHEUR je tombe sur cette erreur, je commence à peine l'asp.net
pouvez vous m'aider ??
Je travail pour l'instant avec WebMatrix et récemment j'ai installé visual studio 2005 chez moi.

j'imagine que c'est un problème lié au web.config ou machine.config quelqu'un peut m'aider ?? Please

Je vous laisse le message d'erreur que j'ai à l'écran.

Merci ++

Argument de publication ou de rappel non valide. La validation
d'événement est activée via dans la
configuration ou via <%@ Page EnableEventValidation="true" %> dans une
page. Pour des raisons de sécurité, cette fonctionnalité vérifie si les
arguments des événements de publication ou de rappel proviennent du contrôle
serveur qui les a rendus à l'origine. Si les données sont valides et attendues,
utilisez la méthode ClientScriptManager.RegisterForEventValidation afin
d'inscrire les données de publication ou de rappel pour la validation.

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.ArgumentException: Argument de publication ou de rappel non valide.
La validation d'événement est activée via dans la configuration ou via <%@ Page
EnableEventValidation="true" %> dans une page. Pour des raisons de sécurité,
cette fonctionnalité vérifie si les arguments des événements de publication ou
de rappel proviennent du contrôle serveur qui les a rendus à l'origine. Si les
données sont valides et attendues, utilisez la méthode
ClientScriptManager.RegisterForEventValidation afin d'inscrire les données de
publication ou de rappel pour la validation.

32 réponses

jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
10 févr. 2006 à 11:56
Oui cette propriété est spécifique a .net 2.0

par défaut l'installation du framework 2.0 ne change pas la configuration des sites existant. Pour changer la version du framework dans lequel tourne le site, il faut aller dans le gestionaire de site web IIS, puis tu as un nouvel onglet dans les propriétés du repertoires virtuels qui permet justement de changer la version du framework pour le site en cours ...

je ne vois pas ce que t'appelle un switcher ? il n'est pas possible de faire du .net 1.0 avec VS2005 ! ou alors VS2005 sera completement inutile ...


<HR>
Cyril - MVS - MCP ASP
3
cs_drahcir Messages postés 745 Date d'inscription mardi 30 novembre 2004 Statut Membre Dernière intervention 15 septembre 2009 4
1 août 2006 à 16:44
Exact, le 2ème paramètre n'est pas bon  Le problème, c'est que je ne vois pas comment le récupérer dans ma page puisque je ne sais pas à l'avance quelle va être sa valeur

<hr />
@+  
1
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
10 févr. 2006 à 00:56
Bonsoir,

tu as cette erreur en faisant quoi ? tu utilises quelle version du framework ?

t'as essayer en mettant enableEventValidation="false" dans ta directive de page ? (tout en haut du fichier aspx) je te le conseil pas car si t'as une erreur c'est pas normal ...


<HR>
Cyril - MVS - MCP ASP<
0
babybutt Messages postés 39 Date d'inscription mardi 20 mai 2003 Statut Membre Dernière intervention 22 février 2006
10 févr. 2006 à 09:30
Salut Cyril,

j'ai le framework 1.1, mais récemment j'ai installé visual 2005 donc il m'a fallu installer le 2.0.

ensuite je sais pas quel framework ca utilise, j'imagine que ca doit prendre la dernière version, il me semble qu'il existe des switcher, mais j'ai jamais utilisé.

Je suis complètement débutant, pourrais-tu m'expliquer à quoi sert cette valeur ? il me semble que dans toutes mes pages je n'ai pas cette directive.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
babybutt Messages postés 39 Date d'inscription mardi 20 mai 2003 Statut Membre Dernière intervention 22 février 2006
10 févr. 2006 à 10:34
Bon Cyril,
je viens de regarder dans la MSDN effectivement une propriété spécifique au framework 2.0
par contre je sais pas encore m'en servir correctement dans le cas où je passerais au framework 2.0.

Sinon dans l'immédiat est ce que quelqu'un connait un framework switcher ?
j'ai utilisé celui de Denis Bauer mais il me plante au nez...
0
babybutt Messages postés 39 Date d'inscription mardi 20 mai 2003 Statut Membre Dernière intervention 22 février 2006
10 févr. 2006 à 16:55
Non en fait je développe en ce moment avec Webmatrix, sur mon poste. Au bureau le server n'est pas encore arrivé. Mais la direction veut tout de même une présentation et des résultats. Le fait est que pour l'instant, on a pas encore décidé quel framework utilisé.
Sur mon poste à la maison j'ai le framework 1.1 et je voulais essayer VS 2005 c'est pour ca que je traine aujourd'hui cette erreur.

Enfin bon merci beaucoup.
0
Claude Pelletier Messages postés 2 Date d'inscription samedi 7 février 2004 Statut Membre Dernière intervention 23 février 2006
17 févr. 2006 à 20:29
J'ai actuellement cette erreur alors que je suis en train de développer en .NET 1.1.4 avec Visual Studio 2003. Mais cette erreur ne se produit que lorsque j'utilise l'application Web avec un serveur Apache En effet, si j'utilise IIS 6, la même application ne me renvoie pas d'erreur.

J'ai remarqué que cette erreur ne se produit, aussi, que depuis que j'ai installé .NET 2 en sus des autres versions sur mon serveur. Je suppose donc a priori que ma configuration d'Apache n'est pas adéquate, ou alors que mod_aspdotnet a un bogue... Je vais voir, mais ce n'est pas une priorité pour moi que cette application fonctionne avec Apache. C'était jsute pour voir... Mais si quelqu'un avait une piste sur la nature de cette erreur dans ces conditions, j'aimerais bien être au courant.
0
Claude Pelletier Messages postés 2 Date d'inscription samedi 7 février 2004 Statut Membre Dernière intervention 23 février 2006
23 févr. 2006 à 10:51
Bon, j'ai trouvé comment forcer Apache à se servir de .NET 1.1.4322 quand .NET 2 est installé sur le même serveur...
Le fichier Web.config doit ressembler à ça :


<configuration>

<appSettings>
<clear/>


<startup>
<supportedRuntime version="v1.1.4322" />

<requiredRuntime version="v1.1.4322" />
</startup>

<system.web>

<!-- compilation, pages, customErrors, authentication, etc. -->

<system.web>

</configuration>
0
cs_drahcir Messages postés 745 Date d'inscription mardi 30 novembre 2004 Statut Membre Dernière intervention 15 septembre 2009 4
1 août 2006 à 11:18
Salut,


je ne sais pas si tu as résolu ton problème, mais j'ai le même message d'erreur.


Dans mon cas, il survient lorsque je simule un click sur un contrôle depuis une fonction javascript en faisant un doPostBack().




J'essaie d'utiliser "RegisterForEventValidation", mais je ne sais pas comment faire. Si tu as trouvé, ça serait sympa de m'en faire profiter

Merci




 





<hr />

@+  
0
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
1 août 2006 à 11:43
de mémoire :

RegisterForEventValidation(control, eventArgument) si tu appelles ta méthodes comme ca __DoPostBack('blabla', 'monArgument');

il faut faire un RegisterForEventValidation(blabla, "monArgument");

<hr />Cyril - MVS - MCP
0
cs_drahcir Messages postés 745 Date d'inscription mardi 30 novembre 2004 Statut Membre Dernière intervention 15 septembre 2009 4
1 août 2006 à 11:54
merci pour cette réponse. Mais où dois-je le placer?

<hr />
@+  
0
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
1 août 2006 à 13:13
Dans le PreRender de ton contrôle ou au moins dans un prerender de quelque chose :p

<hr />Cyril - MVS - MCP
0
cs_drahcir Messages postés 745 Date d'inscription mardi 30 novembre 2004 Statut Membre Dernière intervention 15 septembre 2009 4
1 août 2006 à 14:01
J'ai essayé dans le PreRender de ma page, puis de mon contrôle, mais j'ai une erreur : 

      RegisterForEventValidation ne peut être appelé que pendant Render();

J'ai donc essayé dans PreRenderComplete de ma page, et là :

      System.Web.HttpException: Les informations d'état ne sont pas valides pour cette page et sont peut-être corrompues.

Qu'est-ce qui ne va pas?
 

<hr />
@+  
0
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
1 août 2006 à 14:10
override void render(...)
{
   //ici :)
}

<hr />Cyril - MVS - MCP
0
cs_drahcir Messages postés 745 Date d'inscription mardi 30 novembre 2004 Statut Membre Dernière intervention 15 septembre 2009 4
1 août 2006 à 14:25
Je suis pommé là

je dois mettre ça dans le javascript??
Qu'y a t'il entre parenthèses : void render(...)?

<hr />
@+  
0
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
1 août 2006 à 14:46
pk du Javascript ?

ce que je t'ai montrer c'est du C# ...

en VB je sais plus la syntaxe ca ressemble à peu prés à la meme chose

protected overrides sub render(writer as HtmlTextWriter)
   ' ici
end sub

<hr />Cyril - MVS - MCP
0
cs_drahcir Messages postés 745 Date d'inscription mardi 30 novembre 2004 Statut Membre Dernière intervention 15 septembre 2009 4
1 août 2006 à 15:07
Ah ok je comprend mieux.


Le problème, c'est que ça plante avant de rentrer dans le render





<hr />

@+  
0
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
1 août 2006 à 16:32
Comment ca avant de rentrer dans le render ?


tu fais quoi exactement, t'affiches ta page une fois donc tu passes par le render et faire un RegisterEventValidation puis aprés ta page revient et c'est la que ca plante ? ca veut donc dire que lors du premier passage tu as merdé pas mis les bons arguments ... :-/





<hr />

Cyril - MVS - MCP
0
cs_drahcir Messages postés 745 Date d'inscription mardi 30 novembre 2004 Statut Membre Dernière intervention 15 septembre 2009 4
1 août 2006 à 16:50
Je m'explique un peu mieux.

Je veux faire un drag drop d'une image button vers un node de mon treeview, et lorsque je relache le bouton de la souris, je veux simuler le click sur ce même noeud. Dans mon javascript, je lance __doPostBack(...) sur le onMouseUp de mon treeview. Et c'est là que ça coince!!
Quand je rentre dans le render précédent, je ne sais pas sur quelle branche je vais glisser mon image, donc le second param me pose problème....

<hr />
@+  
0
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
1 août 2006 à 17:17
t'enregistre l'event avec tous les px de ta page ? ;-) 

Regarde comment fait le controle imagebutton : Reflector est ton ami :-) A mon avis pour ce genre de cas il n'enregistre pas son evenement ... donc 2 solutions : la méthode crade c'est rajouter enableventvalidation="false" dans la directive de page ... l'autre solution est de passer par un input type='hidden' qui stockera la position du click, puis tu lances l'event avec des params simple !
 
Mais la position du click t'es t'il vraiment indispensable ?

<hr />Cyril - MVS - MCP
0