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.
Citation:
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.