Bonjour

j'ai une page avec de l'ajax, une un gridview j'ai des textBoxs avec un postback et OnTextChanged="txtSoldes_textChanged"
Or lors du changement de valeur dans ce texte box j'ai une erreur
Échec du chargement de viewstate
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
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
 
Échec du chargement de viewstate. L'arborescence du contrôle sur lequel viewstate est chargé doit correspondre à l'arborescence du contrôle qui a été utilisé pour enregistrer viewstate lors de la demande précédente. Par exemple, lors de l'ajout dynamique de contrôle, les contrôles ajoutés lors d'une publication doivent correspondre au type et à la position des contrôles ajoutés lors de la demande initiale. 
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: Échec du chargement de viewstate. L'arborescence du contrôle sur lequel viewstate est chargé doit correspondre à l'arborescence du contrôle qui a été utilisé pour enregistrer viewstate lors de la demande précédente. Par exemple, lors de l'ajout dynamique de contrôle, les contrôles ajoutés lors d'une publication doivent correspondre au type et à la position des contrôles ajoutés lors de la demande initiale.
 
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): Échec du chargement de viewstate. L'arborescence du contrôle sur lequel viewstate est chargé doit correspondre à l'arborescence du contrôle qui a été utilisé pour enregistrer viewstate lors de la demande précédente. Par exemple, lors de l'ajout dynamique de contrôle, les contrôles ajoutés lors d'une publication doivent correspondre au type et à la position des contrôles ajoutés lors de la demande initiale.]
   System.Web.UI.Control.LoadViewStateRecursive(Object savedState) +303
   System.Web.UI.Control.LoadChildViewStateByIndex(ArrayList childState) +134
   System.Web.UI.Control.LoadViewStateRecursive(Object savedState) +218
   System.Web.UI.Control.LoadChildViewStateByIndex(ArrayList childState) +134
   System.Web.UI.Control.LoadViewStateRecursive(Object savedState) +218
   System.Web.UI.Control.LoadChildViewStateByIndex(ArrayList childState) +134
   System.Web.UI.Control.LoadViewStateRecursive(Object savedState) +218
   System.Web.UI.Control.LoadChildViewStateByIndex(ArrayList childState) +134
   System.Web.UI.Control.LoadViewStateRecursive(Object savedState) +218
   System.Web.UI.Control.LoadChildViewStateByIndex(ArrayList childState) +134
   System.Web.UI.Control.LoadViewStateRecursive(Object savedState) +218
   System.Web.UI.Control.LoadChildViewStateByIndex(ArrayList childState) +134
   System.Web.UI.Control.LoadViewStateRecursive(Object savedState) +218
   System.Web.UI.Control.LoadChildViewStateByIndex(ArrayList childState) +134
   System.Web.UI.Control.LoadViewStateRecursive(Object savedState) +218
   System.Web.UI.Control.LoadChildViewStateByIndex(ArrayList childState) +134
   System.Web.UI.Control.LoadViewStateRecursive(Object savedState) +218
   System.Web.UI.Control.LoadChildViewStateByIndex(ArrayList childState) +134
   System.Web.UI.Control.LoadViewStateRecursive(Object savedState) +218
   System.Web.UI.Control.LoadChildViewStateByIndex(ArrayList childState) +134
   System.Web.UI.Control.LoadViewStateRecursive(Object savedState) +218
   System.Web.UI.Page.LoadAllState() +312
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1661


Le code de la page

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
23
 
 
    <asp:TemplateField HeaderText="Soldes" ItemStyle-HorizontalAlign="Right">
                                                     <itemtemplate>
                                                         <asp:UpdatePanel ID="UpdSoldes" runat="server" UpdateMode="Conditional">
                                                             <ContentTemplate>
 
 
                                                                 <asp:TextBox ID="txtSoldes" runat="server" align="top"  AutoPostBack="true" 
                                                                     CommandArgument='<%# DataBinder.Eval(Container, "RowIndex") %>'  OnTextChanged="txtSoldes_textChanged"
                                                                      text='<%# Eval("Soldes")%>' width="80"></asp:TextBox>
 
                                                                 <cc1:FilteredTextBoxExtender ID="FilteredTextBoxExtendertxtSoldes" 
                                                                     runat="server" FilterType="Numbers, Custom" TargetControlID="txtSoldes" 
                                                                     ValidChars=".," />
                                                             </ContentTemplate>
                                                             <Triggers>
                                                                  <asp:AsyncPostBackTrigger ControlID="txtSoldes1" EventName="TextChanged" />
                                                               </Triggers>
                                                         </asp:UpdatePanel>
                                                     </itemtemplate>
                                                     <ItemStyle HorizontalAlign="Right" />
                                                 </asp:TemplateField>