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 :

[C#] ViewState. Enfin une explication simple ?


Sujet :

ASP.NET

  1. #21
    Membre éprouvé
    Profil pro
    Inscrit en
    Août 2003
    Messages
    835
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2003
    Messages : 835
    Points : 1 046
    Points
    1 046
    Par défaut
    ça tourne au dialogue de sourd .

    J'ai créé une nouvelle pasge (donc vide) , j'y mets un bouton + l'override du LoadViewstate. Qd je clique sur le bouton, je passe bien dans la fonction.

    Si tu n'as pas le même comportement c'est que qque chose à changé en asp.net 2.0 (mon test je l'ai fais en 1.1). J'ai du mal a y croire, j'essairai chez moi en 2.0 pour vérifier, mais c'est possible.

    PS : Non la base de ta question c'etait :
    comment détecter que la valeur d'un élément du formulaire à changé ?
    Il me semble qu'on y a répondu. J'ai aussi l'impression qu'on a repondu au reste, c'est a dire comment fonctionne et a quoi sert le Viewstate. Maintenant si tout ça a été inutile puisqu'on a toujours pas répondu à la question, je laisse tomber.

  2. #22
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    103
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 103
    Points : 92
    Points
    92
    Par défaut
    Citation Envoyé par Sphax
    ça tourne au dialogue de sourd .
    Désolée ... effectivement, si je crée une page de tests, je passe dans la méthode.
    Et dans ma page, je n'y passe pas. Je vais creuser pour voir les différences.

    Grace à toi, j'ai bien compris à quoi cela sert et comment s'en servir ... même si je n'y arrive pas encore.

    Merci pour tout.
    Pensez à mettre quand vous avez obtenu la réponse à votre question.

  3. #23
    Membre éprouvé
    Profil pro
    Inscrit en
    Août 2003
    Messages
    835
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2003
    Messages : 835
    Points : 1 046
    Points
    1 046
    Par défaut
    Theoriquement le fait que tu dérives d'une page de base ne devrait pas modifier le comportement / orde des evenements. Mais bon, ça depend peut etre de ce que fait cette page de base. A creuser/debuguer de ton coté.

    j'ai bien compris à quoi cela sert et comment s'en servir... même si je n'y arrive pas encore.
    mais si , tu sais t'en servir, ou plutot asp.net sait s'en servir pour toi et toi tu sais t'abonner aux evenements des controles . Pour le reste tu peux simplement utiliser le Viewstate de la meme maniere que la session, pour y stocker (coté client) des variables.

  4. #24
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    103
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 103
    Points : 92
    Points
    92
    Par défaut
    Un test très simple pour mettre en valeur le fait que chez moi, cela ne fonctionne pas :

    Page TestEvent.aspx :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <%@ Page language="c#" CodeFile="TestEvents.aspx.cs" AutoEventWireup="true" Inherits="Test_TestEvents" %>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
     
    <html>
    <body>
      <form id="Form1" runat="server">
        <asp:TextBox ID="tbText" runat="server" />
        <asp:Button ID="Button1" runat="server" Text="Submit!"></asp:Button>
      </form>
    </body>
    </html>
    Page TestEvent.aspx.cs :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    public partial class Test_TestEvents : System.Web.UI.Page
    {
        protected override void LoadViewState( object o ) {
            Response.Write( "<b>This is the LoadViewState event.</b><br>" );
            base.LoadViewState( o );
        }
     
        protected override object SaveViewState() {
            Response.Write( "<b>This is the SaveViewState event.</b><br>" );
            return base.SaveViewState();
        }
    }
    Avec ce code, le LoadViewState event ne s'affiche jamais.
    Remarque 1 : Si j'ajoute ViewState["toto"] = "titi"; avant le return base.SaveViewState();, le LoadViewState event s'affiche.
    Remarque 2 : Si maintenant, je supprime la ligne ajoutée et que je recharge la page, il y a toujours le LoadViewState event

    : : :
    Pensez à mettre quand vous avez obtenu la réponse à votre question.

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Une explication simple de Dijkstra ..
    Par pierre1256 dans le forum Algorithmes et structures de données
    Réponses: 2
    Dernier message: 03/01/2007, 09h35
  2. Conseils sur une API simple pour Windows
    Par alejandro dans le forum Choisir un environnement de développement
    Réponses: 4
    Dernier message: 28/04/2005, 18h12
  3. Réponses: 4
    Dernier message: 28/12/2003, 15h50
  4. Réponses: 28
    Dernier message: 18/08/2003, 11h54

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