IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

UserControl + Ajax + SelectedIndexChanged


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Inscrit en
    Avril 2011
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Avril 2011
    Messages : 5
    Par défaut UserControl + Ajax + SelectedIndexChanged
    Bonjour,

    C'est pas clair et donc assez dur à expliquer mais j'ai soucis du type Invalid postback or callback argument.

    Voici, l’environnement :
    - une MasterPage qui contient le ToolkitScriptManager
    - une MasterPage qui spécialise la précédente (rajout de bouton)
    - une page aspx qui hérite de la MasterPage spécialisée et qui contient un TabContainer où chaque onglet est un UserControl
    - et une multitude d'UserControl non réutilisable

    La raison invoquée pour ce découpage est la clarification du code et éviter d'avoir une énorme page de 6km de long. Pourquoi pas.

    Enfin, je travaille que sur un seul UserControl qui devrait être assez simple.

    Une DropDownList rempli via une WebMethod à l'aide du CascadingDropDown de l'AjaxToolKit qui sur l'event SelectedIndexChanged devrait charger et afficher une GridView.

    Le soucis, c'est que quand on sélectionne une ligne dans la DropDownList, une erreur est levé sans même atteindre la méthode de l'event.

    Invalid postback or callback argument. Event validation is enabled using <pages enableEventValidation="true"/> in configuration or <%@ Page EnableEventValidation="true" %> in a page. For security purposes, this feature verifies that arguments to postback or callback events originate from the server control that originally rendered them. If the data is valid and expected, use the ClientScriptManager.RegisterForEventValidation method in order to register the postback or callback data for validation.

    Source Error :
    An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.


    Stack Trace :
    [ArgumentException: Invalid postback or callback argument. Event validation is enabled using <pages enableEventValidation="true"/> in configuration or <%@ Page EnableEventValidation="true" %> in a page. For security purposes, this feature verifies that arguments to postback or callback events originate from the server control that originally rendered them. If the data is valid and expected, use the ClientScriptManager.RegisterForEventValidation method in order to register the postback or callback data for validation.]
    System.Web.UI.ClientScriptManager.ValidateEvent(String uniqueId, String argument) +8628633
    System.Web.UI.Control.ValidateEvent(String uniqueID, String eventArgument) +69
    System.Web.UI.WebControls.DropDownList.LoadPostData(String postDataKey, NameValueCollection postCollection) +53
    System.Web.UI.WebControls.DropDownList.System.Web.UI.IPostBackDataHandler.LoadPostData(String postDataKey, NameValueCollection postCollection) +13
    System.Web.UI.Page.ProcessPostData(NameValueCollection postData, Boolean fBeforeLoad) +343
    System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1743
    D'après Google, il faudrait utiliser des UpdatePanel mais je n'y arrive pas.

    Auriez vous des pistes à me fournir ?

    Merci de votre attention.

  2. #2
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Par défaut
    T’arrive pas à utiliser des update panels ou ça ne résout pas ton problème?

  3. #3
    Nouveau membre du Club
    Inscrit en
    Avril 2011
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Avril 2011
    Messages : 5
    Par défaut
    On dira les deux.
    ça ne résout pas mon problème, surement parce que je ne sais pas l'utiliser

  4. #4
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Par défaut
    .NET lève une exception car ta liste déroulante a été modifiée côté client. Pour lui, c'est assimilé à une tentative de piratage.

    Plusieurs solutions:
    - tu mets <%@ Page EnableEventValidation="true" %> mais c'est pas top côté sécurité
    - tu ne remplis plus tes listes déroulantes via une WebMethod mais via un async post back avec les update panels
    - tu crées tes propres listes déroulantes qui ne seront pas "validées" par le framework => http://johanleino.wordpress.com/2009...rgument-error/

  5. #5
    Nouveau membre du Club
    Inscrit en
    Avril 2011
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Avril 2011
    Messages : 5
    Par défaut
    Merci, je vais donc m'orienter vers la solution 3 qui me semble être plus à ma porté

    Mauvaise nouvelle : Mais la solution de créer un CustomControl qui hérite de DropDownList pour schinter le SupportsEventValidationAttribute ne fonctionne pas.

    Finalement, vu que c'est un site intranet, j'ai mis enableEventValidation="false" dans le web.config. C'est pas vraiment une solution mais ça fonctionne.

    Encore merci pour l'aide

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. usercontrol dropdownlist et selectedindexchange
    Par clouddd dans le forum VB.NET
    Réponses: 0
    Dernier message: 08/06/2011, 16h18
  2. Réponses: 0
    Dernier message: 29/07/2009, 16h39
  3. [ASP.NET 1.1] UserControl en AJAX
    Par User.Anonymous dans le forum ASP.NET
    Réponses: 10
    Dernier message: 26/08/2008, 12h06
  4. AJAX et UserControl
    Par rastatoon dans le forum ASP.NET
    Réponses: 4
    Dernier message: 17/06/2008, 12h35
  5. Ajax Controls (Atlas) TabPanel et usercontrol
    Par chnew dans le forum ASP.NET
    Réponses: 4
    Dernier message: 06/06/2007, 10h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo