Probleme avec les boutons sous asp.net

Signaler
Messages postés
2
Date d'inscription
mardi 19 avril 2005
Statut
Membre
Dernière intervention
5 juillet 2006
-
Messages postés
3
Date d'inscription
mercredi 17 novembre 2004
Statut
Membre
Dernière intervention
10 août 2007
-
Bonjour à toutes la smala ASP!!
Pour mon premier post ma question porte sur les boutons ASP créer Bydesign sous Visual Web Dvpmt 2005 car quand je test mon site et que j appuis sur le bouton en question je me retouve sur une page d erreur avec comme message:
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.

Si qqun a déja eu à faire à ce type d erreur ce serait cool de me porter assistance car là je suis dans le flou total!

Et si ca peut aider voila la trace de la pile

Trace de la pile:

[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.]

System.Web.UI.ClientScriptManager.ValidateEvent(String uniqueId, String argument) +2080201
System.Web.UI.Control.ValidateEvent(String uniqueID, String eventArgument) +106
System.Web.UI.WebControls.TextBox.LoadPostData(String postDataKey, NameValueCollection postCollection) +31
System.Web.UI.WebControls.TextBox.System.Web.UI.IPostBackDataHandler.LoadPostData(String postDataKey, NameValueCollection postCollection) +11
System.Web.UI.Page.ProcessPostData(NameValueCollection postData, Boolean fBeforeLoad) +408
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +3776

voila merci d avance!

4 réponses

Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
27
Bonjour,

il te suffit de désactiver la validation d'evenement en rajoutant EnableEventValidation="false" dans ta directive de page (en haut de ton fichier aspx dans <%@ Page ... %>)

Mais je me poserais plutot la question, pourquoi t'es dans un tel cas ! qu'as tu fais pour ne pas déclarer ton evenement ?

<hr />Cyril - MVS - MCP
Messages postés
2
Date d'inscription
mardi 19 avril 2005
Statut
Membre
Dernière intervention
5 juillet 2006

Merci mec ca marche
Si j en suis arrivé la c est juste que je n ais quasiment aucune notion en ASP (et oui je viens du monde libre PHP 4ever) et la c est que dans mon boulot
on m'a demandé de développer sous ce langage (qui pourtant ressemble fortement au PhP)
Donc pour pas me prendre la tête j'ai utilisé les bouton Bydesign de ASP et voila "erreur fatal" enfin bon pas si fatal que ca en fait (je suis un gros boulet) vu que si j aurai reflechi un peu
j aurai pu trouver enfin bon Merki a toi et à bientot.

PS: Au fait si c est pas trop demander c est quoi cette validation d évenement (si bien sur ca veut dire autre chose que ca veut dire )?
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
27
euh ... c'est compliqué :p

En fait les controles peuvent générer des evenement dont on s'abonne comme le click sur un bouton etc... pour éviter qu'un pirate essaye de lancer manuellement des evenements sur certains controles il faut qu'on déclare l'evenement qu'on utilise (ca se fait automatiquement) si on essaye de déclencher un evenement qui n'est pas register alors c'est peut etre une tentative de piratage donc l'appli se bloque ... mais c'est bizarre que ca c'est bloqué pour toi, si t'as rien fait de spécial :s peut etre justement que t'as trop fait au style PHP qui n'a rien à voir avec asp.net ...

<hr />Cyril - MVS - MCP
Messages postés
3
Date d'inscription
mercredi 17 novembre 2004
Statut
Membre
Dernière intervention
10 août 2007

Bonjour,
Je rencontre le même souci.
Voici ce que je fait :
- je crée un WebUserControl contenant un DataGrid
- le DataGrid est Bindé avec des data d'une base de données
- une des colonnes du DataGrid contient un ImageButton dont la propriété CommandName vaut 'Delete'
- l'évennement DeleteCommand du DataGrid appelle une methode (Del) définit dans le code behind comme il se doit.

Une fois ce WebUserControl terminé, je l'insère dans une page aspx quelconque.
Le DataGrid est bien alimenté avec les données de la bdd, mais lorsque je clique sur l'ImageButton d'une des lignes du DataGrid j'obtiens le message d'erreur en question.

Si je positionne EnableEventValidation à "false" dans ma page je n'ai effectivement plus d'erreur...
...mais la methode Del du WebUserControl ne semble pas être executée...

- Comment donc déclarer mon évennement proprement sans avoir à positionner EnableEventValidation à false ?
- Comment arriver à executer la methode Del ?

Merci d'avance.