|
Trouver une ressource
Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !
Sujet : Prb de viewstate [ Base de données / SQL Server ] (Cipoli)
Informations & options pour cette discussion
|
jeudi 27 septembre 2007 à 10:27:52 |
Prb de viewstate

Cipoli
|
Bonjour a tous,
Merci de ce pencher sur ce problème qui m'arrache les cheveux.
Ce message apparait lorsque mon datagrid est en mode edition et que je choisi de faire un update, cancel ou un delete. Pouvez m'aider a capturer l'exception a l'aide des try catch. Je ne vois pas tres bien a quel moment la capturer. Je cherche a identifier avec précision le control fautif. Les solutions que j'ai vu sur internet consite a mettre le viewstate a false : il y a t il d'autre solutions.
É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) +189
System.Web.UI.Control.LoadViewStateRecursive(Object savedState) +414
System.Web.UI.Control.LoadViewStateRecursive(Object savedState) +414
System.Web.UI.Control.LoadViewStateRecursive(Object savedState) +414
System.Web.UI.Control.LoadViewStateRecursive(Object savedState) +414
System.Web.UI.Control.LoadViewStateRecursive(Object savedState) +414
System.Web.UI.Control.LoadViewStateRecursive(Object savedState) +414
System.Web.UI.Page.LoadPageViewState() +306
System.Web.UI.Page.ProcessRequestMain() +423
|
|
|
|
|
jeudi 27 septembre 2007 à 11:10:51 |
Re : Prb de viewstate

David REI
|
Salut Cipoli ! Lorsque tu passes en mode édition, la page est renvoyé au serveur et elle exécute donc le PageLoad, ton problème doit venir du fait que tu modifies l'arborescence des controles lors de ton retour server ("edition grid view" par exemple). Crées-tu des contrôles dans le PageLoad ou autre méthode ?
|
|
|
|
jeudi 27 septembre 2007 à 11:51:11 |
Re : Prb de viewstate

Cipoli
|
Merci tout d'abord de ton interet pour m'aider.
Je créer des controles dans le ItemDataBound en mode édition.
Dois je comprendre que je ne respecte pas l'affichage des controles, dans la bonne colonne du datagrid ?
Voici une parti de mon code
public
void
dtgSuggestBox_ItemDataBound(Object sender, DataGridItemEventArgs e){ else
if
(e.Item.ItemType == ListItemType.EditItem)
//Si en mode Edition du data grid
//Création des champs pour faire des saisies
TextBox txtEditCommentaire = (TextBox)e.Item.FindControl("txtEditCommentaire");
txtEditCommentaire.Text = drv["texte_forum"].ToString().Replace("<br>","\n");
|
|
|
|
jeudi 27 septembre 2007 à 12:10:22 |
Re : Prb de viewstate

Cipoli
|
Sur le site j'ai trouver une explication qui dit Lorsque que je clic sur update ou cancel ou delete :
la page va se faire un postback, hop ca passe dans l'init, puis ca recréer l'arborescence des controles, il voit que la page vient d'un postback, il regarde les controles qu'il a et il ne voit pas le controle .
|
|
|
|
jeudi 27 septembre 2007 à 12:16:10 |
Re : Prb de viewstate

David REI
|
Une page ASP.NET a un cycle de vie Cipoli, et passé un certain point de l'exécution il est impossible de rajouter des controles avec ses évenements synchronisés en standard.
Essaye plutôt de faire : ((TextBox)e.Item.FindControl("txtEditCommentaire")).Text = drv["texte_forum"].ToString().Replace("<br>","\n"); ?
|
|
|
|
jeudi 27 septembre 2007 à 12:35:56 |
Re : Prb de viewstate

Cipoli
|
J'ai testé ton code malheureusement ça ne fonctionne pas, j'ai toujours la même erreur Merci comme même
|
|
|
|
jeudi 27 septembre 2007 à 13:47:18 |
Re : Prb de viewstate
|
|
lundi 1 octobre 2007 à 15:11:56 |
Re : Prb de viewstate

Cipoli
|
Merci a tous j'ai résolu mon problème.
J'avais un datagrid qui était lié a mes données. Mon erreur étais de créer une colonne dans le datagrid.
|
|
|
Cette discussion est classé dans : web, system, contrôle, ui, viewstate
Répondre à ce message
Livres en rapport
|
Téléchargements
Logiciels à télécharger sur le même thème :
|