begin process at 2012 05 28 14:26:45
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive ASP & ASP.NET

 > 

Archives ASP & ASP.NET

 > 

ASP.net

 > 

ViewState dans controles imbriqués


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

ViewState dans controles imbriqués

mardi 9 août 2005 à 17:59:03 | ViewState dans controles imbriqués

benjiiim94

Membre Club
Bonjour,

J'utilise un controle datagrid dans un controle repeater. Lors d'une publication, les données de mon datagrid ne sont pas actualisés, pourtant, la propriété enableviewstate est bien à true.
Est-ce que le viewstate est désactivé dans les controles imbriqués ?

Merci

mardi 9 août 2005 à 18:51:20 | Re : ViewState dans controles imbriqués

jesusonline

Membre Club Administrateur CodeS-SourceS
non, les viewstate ne sont pas desactivé dans des controles enfants, et d'ailleurs, un datagrid normale et lui meme contenu dans un controle System.Web.UI.Page

par contre si ton repeater a le viewstate de desactivé il est possible (mais il me semble que non) que ca intervient sur les controles enfants.

Tu peux nous montrer le code qu'on puisse y voir un peu plus clair.

:)


Cyril - MCP ASP.net
Webmaster de : Hoshimi.CodeS-SourceS.fr
mercredi 10 août 2005 à 09:16:27 | Re : ViewState dans controles imbriqués

benjiiim94

Membre Club
Bon bein c'est curieux alors, le repeater a bien lui aussi le viewstate d'activé.
Avant de selectionner les parties du code correspondantes au pb , si ceci peut t'aider a trouver une solution : (ce n'est pas toi Jesusonline qui disait sur je ne sais quel tuto que le developpeur de base était féniant ? ;-)))

Lors du page Load je rempli un ArrayList avec un datareader. Cet arrayList va servir plus tard a remplir les datagrid en question (Je le fais a chaque publication)

Ensuite, si je suis au premier chargement, je rempli mon repeater principal avec un autre datareader.

Lors de l'évenement onItemCreated, je rempli pour chaque élément deux datagrid grâce à un arrayList que je crée à chaque fois en selectionnant les bons éléments dans mon arrayList de départ.

Si j'ai bien compris le processus de création de la page, lors d'une publication, l'évenement onItemCreated ne sera pas déclenché car on ne reconstruit pas le repeater. Mais comme le ViewState est à True, je m'atendai à ce que mon datagrid ne se vide pas... (Lors d'une publication où je reconstruit le repeater pour valider des modifs par exemple, le datagrid se rerempli)

C'est assez précis ou je dois sortir tout le code ?

Merci beaucoup !
mercredi 10 août 2005 à 10:25:19 | Re : ViewState dans controles imbriqués

jesusonline

Membre Club Administrateur CodeS-SourceS
Réponse acceptée !
Le problème c'est que le viewstate redonne les valeurs aux controles entre le page_init et le page_load, or dans ton cas quand il va essayer de redonner les valeurs à ton datagrid il n'existera pas encore.

Le viewstate ne stocke pas les composants mais juste la valeur des propriétés de ces composants.

Si tu ne veux pas recréer le datagrid à chaque visite, tu peux faire un petit peu autrement (mais tu ne pourras plus jouer avec les evenements Edit etc du datagrid)

déjà dans ton repeater tu met des label avec la propriété enableviewstate à true et ca faut le faire au plus tard  au page_init, ensuite au lieu de rajouter tes datagrid, tu récuperes le rendu sous forme de string (regarde une de mes dernieres source la dessus) puis tu met ce string sur tes label.

Est-ce plus clair comme ca ?




Cyril - MCP ASP.net
Webmaster de : Hoshimi.CodeS-SourceS.fr
mercredi 10 août 2005 à 11:06:43 | Re : ViewState dans controles imbriqués

benjiiim94

Membre Club
Bon, je préfère le recharger à chaque fois c'est plus simple ! Je voulais essayer d'optimiser a fond les ressources serveurs mais ce n'est pas grave, je préfère faire comme ca que de bidouiller vu mon avancement dans l'apprentissage du .net...

Merci de m'avoir éclairé sur ce point !

En passant, j'ai une petite question qui ne mérite pas d'ouvrir un autre post : Le designer de visual est totalement perdu lorsqu'il n'a pas de connection "locale" associé à ces controles. Par exemple, quand on appel une connection comme ceci :

this.myConnection = (System.Data.OleDb.OleDbConnection)Session["myConnection"];

Une solution pour que le puissant mais fébrile designer ne me lache pas a cause d'une ligne ?

Merci

mercredi 10 août 2005 à 11:16:11 | Re : ViewState dans controles imbriqués

jesusonline

Membre Club Administrateur CodeS-SourceS
Réponse acceptée !
Le designer dans VS.net 2003 est nul ! j'essayais de jamais m'en servir car c'est une horreur ...

Sinon avec .net 2 le designer est lui utile, conrairement à l'autre ... mais bon quand on programme vraiment, on a pas vraiment besoin d'un designer pour faire nos pages.


Cyril - MCP ASP.net
Webmaster de : Hoshimi.CodeS-SourceS.fr
mercredi 10 août 2005 à 11:29:59 | Re : ViewState dans controles imbriqués

benjiiim94

Membre Club
Vivement que je me mette a .net 2 alors !

Merci



Cette discussion est classée dans : controles, controle, datagrid, viewstate, imbriqués


Répondre à ce message

Sujets en rapport avec ce message

Asp.Net : 2 Datagrids dans une même page, 2 validations [ par kallahan03 ] Bonjour à tousDans une page aspx avec l'aide de Visual Studio .net 2003, je place 2 datagrid : - 1 pour lister mes clients - 1 pour lister les command controls ajoutés dynamiquement [ par DeitY51 ] Bonjour, if (!IsPostBack){ // cree les datagrid dynamiquement CreerListeDemande(); // cree les panels contenant les datagrid CreerPanelsDemande() DataGrid et ViewState [ par benjiiim94 ] Bonjour, J'ai un problème pour créer un datagrid qui utilise le viewstate, plus précisemment ce problème l'événement onItemCreated. Dans celui-ci j' gridview ? [ par Troyan ] bonjour, j'utilise un controle gridview dans lequel j'ai rajouté des controles dans un template fieldavec l'evenement rowdatabound je rajoute des cont Elements imbriqués dans un controle serveur BulletedList [ par testpresta ] Bonjour, Je souhaiterais générer dynamiquement une liste ordonnée ul a partir de code c# dans une page asp.net. Le composant BulletedList semble perm hierarchie des controles / accés à un objet qui se trouve dans un autre objet [ par quineman ] Je souhaite accéder à un datagrid qui se trouve dans un repeater. Je souhaite ensuite agir sur l'événement RowDataBound pour jouer sur la mise en form ViewState et Datagrid (avec WebControl à l'intérieur) [ par jibea ] Bonjour,Je développe une application ASP.NET dans laquelle j'utilise des datagrids sur de gros volumes de données (exigence nécessaire). Pour résoudre Différences entre les controles Panel et PlaceHolder en asp.net [ par fr64 ] Bonjour,Je souhaiterais avoir un avis sur les principaux avantages/inconvénients à utiliser un controle PlaceHolder vs un controle Panel dans une page DataGrid : accéder à un controle dans EditItemTemplate [ par robbielove ] Bonjour,je cherche à remplir un Panel placé dans le EditItemTemplate de mon datagrid lorsque je clique sur un bouton (placé dans le itemTemplate).La m [ASP.NET] Remplir un datagrid [ par malhivertman1 ] Bonjour, j'ai un datagrid apelé Grid1 que j'aimerai remplir suite a une requete. Je fais donc Code :<pre class="alt2"


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,593 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales