Asp.Net creation dynamique de textbox [Résolu]

Signaler
Messages postés
410
Date d'inscription
dimanche 1 février 2004
Statut
Membre
Dernière intervention
8 mai 2010
-
Messages postés
283
Date d'inscription
mercredi 7 décembre 2005
Statut
Membre
Dernière intervention
9 juillet 2010
-
Bonjour,
Pourquoi mes textbox créées dynamiquement avec un linkButton, disparaissent au postback, et refusent donc de rendre l'info que j'ai rentrée ? Je leur attribue pourtant une ID ect, tout comme il faut.
Je précise que ma page est faite sous DreamWeaver et que mes textbox sont créées dans le footer d'un datagrid, mais que j'ai essayé dans un PlaceHolder en haut de page, ça me fait pareil .
J'ai mis partout(Page, Datagrid, Texbox) des "enableViewState", mais rien.
Comme je ne suis pas encore un ténor, tout le script et le reste est sur la même page, mais normalement, ça n'a rien à voir!

Merci pour un tuyau...
SB

5 réponses

Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
28
pour reinstallé le framework :

--> http://blogs.developpeur.org/redo/archive/2004/08/16/2286.aspx

Mais je pense pas que ca change grand chose.

Le problème c'est qd tu cliques sur ton lien tu vas aller sur ta fonction

private sub hl_click(...)
'ajout des boutons etc....
end sub

Une fois cette méthode executé ils vont bel et bien apparaitre sur la page, le problème et que quand tu va faire un postback tu ne vas pas retourner sur ta fonction d'ajout des boutons

il faut donc que tu recrées les boutons dans le page_load

en gros faut faire un truc comme ca

private sub hl_click()
creationcontrols()
session(isCreatedControls) = true
end sub

sub CreationControls()
'creation des Controls
end sub

sub Page_Load()

if Page.IsPostBack andalso ctype(session(IsCreatedControl),boolean) then
Creationcontrols()
end sub
end sub

Voila un peu l'idée, mais je pense qu'il doit y avoir une maniere plus simple

je peux avoir le code ? je regarderais ca quand j'aurais le temps :)

@+

Cyril
Messages postés
56
Date d'inscription
dimanche 20 juillet 2003
Statut
Membre
Dernière intervention
26 juillet 2009

C'est votre contrôles serveurs (zone de texte, datagrid ?) ne paraissent pas lors d'exécution de la page aspx,
Donc réinstallé le framework.
:)
Messages postés
56
Date d'inscription
dimanche 20 juillet 2003
Statut
Membre
Dernière intervention
26 juillet 2009

C'est votre contrôles serveurs (zone de texte, datagrid ?) ne paraissent pas lors d'exécution de la page aspx,
Donc réinstallé le framework.
:)
Messages postés
410
Date d'inscription
dimanche 1 février 2004
Statut
Membre
Dernière intervention
8 mai 2010

Bonjour,
Effectivement, j'ai essayé et ça marche bien.
Merci encore pour le tuyau!

Mais... Pour que ça marche, j'ai dû créer mes textbox dans un placeHolder situé en dehors du datagrid, car sinon j'ai des difficultés à communiquer avec le footer (ou ils étaient prévus initialement) de mon datagrid.
Ma sub est :

Sub CreerControle(N as integer,container as object)

dim h as integer
for h=1 to N
dim tbNomAd As New TextBox
tbNomAd.ID="tbNomAd" & h 'identification
tbNomAd.Attributes("runat")="server"
tbNomAd.EnableViewstate=true
container.Controls.Add(New LiteralControl("
"))
container.Controls.Add(tbNomAd)
tbNomAd.Dispose()
next
End Sub

Et Le "container" : e.item.cells(3) par exemple est reconnu lorsque je clique sur un linkButton dans le footer, mais est inconnu au bataillon quand je fais appel à la sub dans le page_Load.
Ca rejoint une autre question que j'ai posé sur le forum : Comment récupère-t-on la valeur d'un textBox ou d'une DropDownList quand ils sont situés dans le footer d'un datagrid?

La réponse que tu y donne est la bienvenue, mais elle ne fonctionne pas dans ma page.!?!?

Merci encore pour tous tes codes
Gilles
Messages postés
283
Date d'inscription
mercredi 7 décembre 2005
Statut
Membre
Dernière intervention
9 juillet 2010
3
salut jesusonline et superbouly

J'ai utilisé votre methodes pour créer des textbox dynamiquement et ca marche tres bien encor merci.

J'ai juste un pb j'ai une textbox ou l'utilisateur saisie la quantité de textbox a creer ( par defaut la valeur est a 15) lorsqu'il clik sur le bouton ajouter les textbox sont créées.

Le pb est que lorsque la valeur est modifiée il garde la valeur par defaut et crée les 15 textbox.

est ce que vous pourriez m'aider parce que la je vois pas du tout

Merci