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 :

ViewState ne se désactive pas


Sujet :

ASP.NET

  1. #1
    Membre du Club
    Inscrit en
    Juillet 2006
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 69
    Points : 65
    Points
    65
    Par défaut ViewState ne se désactive pas
    Bonjour ,
    j'ai un User Contrôle que j'ajoute à une page web aspx . après validation du formulaire et traitement serveur j'ai deux contrôle qui garde leurs valeur avant validation :
    un checkbox garde sa valeur ( coché ou pas )
    Un hidden qui concatène l'ancienne valeur suivi d'un virgule après la nouvelle valeur !!! .
    Tous les directives Viewstates sont désactivés , au niveau de la page aspx et du formulaire .
    Voici mon code du User contrôle


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
        <asp:panel id="DevicePnl" runat="server"  cssclass="div"  enableviewstate="false" >
     
               <asp:label id="lblDescription" class="lbl" runat="server"  ></asp:label>
         <input type="checkbox"  id="NchkSelectnew" runat="server"  class="checkboxDevice"   enableviewstate="false" viewstatemode="disabled"  />
     
      <asp:hiddenfield id="hiddendbidnew" runat="server"  enableviewstate="false"  viewstatemode="disabled"  />
     
     
     
    <asp:hiddenfield id="hiddendeviceidnew" runat="server"  enableviewstate="false" viewstatemode="disabled"  />
     
          </asp:panel>
    Merci pour vos remarques .

  2. #2
    Membre du Club
    Inscrit en
    Juillet 2006
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 69
    Points : 65
    Points
    65
    Par défaut solution
    Je reponds moi même à mon poste .
    aprés recherche dans le forum il faut surcharger quelque méthodes de la classe Page pour vider le contenu 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
    38
    39
    40
    41
            protected override void Render(System.Web.UI.HtmlTextWriter writer)
            {
                System.IO.StringWriter stringWriter = new System.IO.StringWriter();
                HtmlTextWriter htmlWriter = new HtmlTextWriter(stringWriter);
                base.Render(htmlWriter);
                string html = stringWriter.ToString();
                int StartPoint = html.IndexOf("<input type=\"hidden\" name=\"__VIEWSTATE\"");
                if (StartPoint >= 0)
                {
                    int EndPoint = html.IndexOf("/>", StartPoint) + 2;
                    string viewstateInput = html.Substring(StartPoint, EndPoint - StartPoint);
                    html = html.Remove(StartPoint, EndPoint - StartPoint);
                }
                StartPoint = html.IndexOf("<input type=\"hidden\" name=\"__EVENTARGUMENT\"");
                if (StartPoint >= 0)
                {
                    int EndPoint = html.IndexOf("/>", StartPoint) + 2;
                    string viewstateInput = html.Substring(StartPoint, EndPoint - StartPoint);
                    html = html.Remove(StartPoint, EndPoint - StartPoint);
                }
                StartPoint = html.IndexOf("<input type=\"hidden\" name=\"__EVENTTARGET\"");
                if (StartPoint >= 0)
                {
                    int EndPoint = html.IndexOf("/>", StartPoint) + 2;
                    string viewstateInput = html.Substring(StartPoint, EndPoint - StartPoint);
                    html = html.Remove(StartPoint, EndPoint - StartPoint);
                }
                writer.Write(html);
            }
     
            protected override void SavePageStateToPersistenceMedium(object viewState)
            {
     
            }
     
            protected override object LoadPageStateFromPersistenceMedium()
            {
     
                return null;
     
            }

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

Discussions similaires

  1. [WD18] Désactivefaa ne désactive pas tous les faa
    Par zouzoukha dans le forum WinDev
    Réponses: 6
    Dernier message: 12/02/2015, 16h06
  2. Réponses: 11
    Dernier message: 19/11/2007, 21h17
  3. Forcer Windows à ne pas désactiver le média réseau
    Par yelbied dans le forum Windows XP
    Réponses: 1
    Dernier message: 11/06/2007, 00h23
  4. [PHP-JS] prb bouton radio ne se désactivant pas
    Par faucon54 dans le forum Langage
    Réponses: 14
    Dernier message: 30/05/2007, 09h26
  5. Réponses: 2
    Dernier message: 08/03/2007, 15h32

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