[C#/ASP.NET] ViewState à la con. Comment le virer ?

ViewState à la con. Comment le virer ? [C#/ASP.NET] - C#/.NET managed - Programmation

Marsh Posté le 17-01-2005 à 14:31:01    

J'ai une page un peu bordelique (je me suis embarqué dans un truc pas clair, j'avais pas prévu cette histoire de viewsate de merde).
 
Alors.
 
Ma page crée un objet "facTree" hérité de Panel. C'est en fait une liste de liens sous forme d'arbre, affiché à l'aide de "facTree.displayTree(nodeSelectionnée)"
Cet objet génère des liens avec un ServerClick.
Ce ServerClick va lancer alors "facTree.ElementClick", qui va créer un objet "facEdit" à l'intérieur du "facTree". C'est le formulaire d'édition d'une node de mon arbre.
 
Lorsque je clique sur le bouton "Validate" du forumlaire de facEdit, je lance un ServerClick qui execute l'action "facEdit.doAction".
Cette méthode fait une modif dans la base, et dans certains cas, duplique la node en question, et me retourne le nouvel ID.
 
Dans ce doAction, à la fin, le fait donc un "facTree.Controls.Clear()", puis un "facTree.displayTree(nouvelleNode)".
Et ce tocard ne me récupère pas la nouvelle node.
 
Je trace l'éxécution du bordel dans un fichier, et les variables sont toutes OK. Mais les valeurs dans mes champs de contrôle ne correspondent pas. Du coup, si je refais une action après ça, le formulaire affiché étant lié à l'ancienne node, qui n'authorise plus forcément l'action demandée, je plante.
 
Je trouve vraiment pas.
 
J'ai mis des "EnableViewState = false" sur tous mes contrôles, dans la directive <%@ au début de ma page, mais rien n'y fait :cry:
 
Comment je peux définitivement buter cette merde ? Dans l'idée, c'était super bien foutu, mais c'est plus source de merde qu'autrechose dès qu'on reste pas dans la logique prévue. :/

Reply

Marsh Posté le 17-01-2005 à 14:31:01   

Reply

Marsh Posté le 19-01-2005 à 09:58:05    

Bon, y'a un boycot général sur mes posts autour du C# ou quoi ?
 
J'ai du poster 10 questions, pas une seule réponse...

Reply

Marsh Posté le 19-01-2005 à 10:10:32    

T'as essayé dans le PageLoad de ta page qui contient le viewstate de faire un "Page.EnableViewState = false" ? (je suis pas sur que ce soit utile de le faire dans tes user Control comme tu as fait)

Reply

Marsh Posté le 19-01-2005 à 10:41:28    

Oui :/
 

Code :
  1. private void Page_Load(object sender, System.EventArgs e)
  2.  {
  3.   this.EnableViewState = false;
  4.                         [...]
  5.                 }

Reply

Marsh Posté le 19-01-2005 à 13:50:25    

au lieu de this essayes Page

Reply

Marsh Posté le 19-01-2005 à 13:57:50    

J'ai changé. Je verrai à la prochaine compilation.

Reply

Marsh Posté le 19-01-2005 à 15:34:49    

je crois que pour ce genre de cas, il ne faut pas tester en debug via l'IDE, mais compiler, et lancer avec un autre process de l'exporateur pour tester. ça résoud bcp de problèmes

Reply

Marsh Posté le 19-01-2005 à 17:18:06    

Je n'utilise pas la fonction debug. Le serveur Web est installé n'importe comment, et sur un Windows 2000 Pro, donc les fonctions de Debug ne marchent qu'en local, hors je ne suis pas en local ;)
 
Donc, oui, c'est pourtant bien tout compilé. Vu que j'ai le problème depuis le début du projet, j'en déduis que j'ai utilisé plusieurs process d'IE différents, et pourtant j'ai toujours le même problème :/

Reply

Marsh Posté le 19-01-2005 à 17:26:18    

il y a aussi une histoire de cache serveur. essaie de relancer tout le bouzin

Reply

Marsh Posté le 19-01-2005 à 17:34:53    

Je verrai ça demain. Pour tout arranger, l'admin du PC est parti, donc je peux rien faire dessus :D
 
(on est bien équipés ici, c'est fou ! moi j'héberge la base sur mon PC avec MSDE sous 2K Pro, et lui le site avec XP Pro - en fait c'est pas 2000, mais bon, ça change pas grand chose)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed