recuperer valeur d'un controle genere dynamiquement
3 réponses
herve
Bonjour,
J'ai un ASCX (ucRecherche) dans lequel je charge dans un placeHolder
lui-même dans le prerender
Dim _RechCritComp As New PlaceHolder
Dim RechUrlCbl As New CheckBox
RechUrlCbl.ID = "RechUrlCbl"
RechUrlCbl.Text = "url"
_RechCritComp.Controls.Add(RechUrlCbl)
...
Résultat du rendu Htm:
<input id="ucRecherche_RechUrlCbl" name="ucRecherche:RechUrlCbl"
type="checkbox"><label for="ucRecherche_RechUrlCbl">url</label>
Quand je clique sur un bouton, je veux mémoriser si c'était coché ou non
Sub BtnRech_ServerClick(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles BtnRech.ServerClick
If Page.IsValid Then
Dim RechUrl As New CheckBox
RechUrl =
CType(Page.FindControl("ucRecherche:RechUrlCbl"), CheckBox)
If RechUrl Is Nothing = False Then
Et bien RechUrl est toujours Nothing que je coche ou non !?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Cédric Dardenne
Salut Hervé,
As-tu essayé de faire juste CType(Page.FindControl("RechUrlCbl"), CheckBox) sans le "ucRecherche:" ?
Cédric
herve wrote:
Bonjour,
J'ai un ASCX (ucRecherche) dans lequel je charge dans un placeHolder lui-même dans le prerender Dim _RechCritComp As New PlaceHolder Dim RechUrlCbl As New CheckBox RechUrlCbl.ID = "RechUrlCbl" RechUrlCbl.Text = "url" _RechCritComp.Controls.Add(RechUrlCbl) ...
Résultat du rendu Htm: <input id="ucRecherche_RechUrlCbl" name="ucRecherche:RechUrlCbl" type="checkbox"><label for="ucRecherche_RechUrlCbl">url</label>
Quand je clique sur un bouton, je veux mémoriser si c'était coché ou non Sub BtnRech_ServerClick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnRech.ServerClick If Page.IsValid Then Dim RechUrl As New CheckBox RechUrl > CType(Page.FindControl("ucRecherche:RechUrlCbl"), CheckBox) If RechUrl Is Nothing = False Then
Et bien RechUrl est toujours Nothing que je coche ou non !?
Celà devrait fonctionner, non? hervé
-- ---------------------------------------------------------------------------- --------- Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning. -- Rich Cook
Salut Hervé,
As-tu essayé de faire juste CType(Page.FindControl("RechUrlCbl"), CheckBox)
sans le "ucRecherche:" ?
Cédric
herve wrote:
Bonjour,
J'ai un ASCX (ucRecherche) dans lequel je charge dans un placeHolder
lui-même dans le prerender
Dim _RechCritComp As New PlaceHolder
Dim RechUrlCbl As New CheckBox
RechUrlCbl.ID = "RechUrlCbl"
RechUrlCbl.Text = "url"
_RechCritComp.Controls.Add(RechUrlCbl)
...
Résultat du rendu Htm:
<input id="ucRecherche_RechUrlCbl" name="ucRecherche:RechUrlCbl"
type="checkbox"><label for="ucRecherche_RechUrlCbl">url</label>
Quand je clique sur un bouton, je veux mémoriser si c'était coché ou
non Sub BtnRech_ServerClick(ByVal sender As System.Object,
ByVal e
As System.EventArgs) Handles BtnRech.ServerClick
If Page.IsValid Then
Dim RechUrl As New CheckBox
RechUrl > CType(Page.FindControl("ucRecherche:RechUrlCbl"), CheckBox)
If RechUrl Is Nothing = False Then
Et bien RechUrl est toujours Nothing que je coche ou non !?
Celà devrait fonctionner, non?
hervé
--
----------------------------------------------------------------------------
---------
Programming today is a race between software engineers
striving to build bigger and better idiot-proof programs,
and the Universe trying to produce bigger and better idiots.
So far, the Universe is winning.
-- Rich Cook
As-tu essayé de faire juste CType(Page.FindControl("RechUrlCbl"), CheckBox) sans le "ucRecherche:" ?
Cédric
herve wrote:
Bonjour,
J'ai un ASCX (ucRecherche) dans lequel je charge dans un placeHolder lui-même dans le prerender Dim _RechCritComp As New PlaceHolder Dim RechUrlCbl As New CheckBox RechUrlCbl.ID = "RechUrlCbl" RechUrlCbl.Text = "url" _RechCritComp.Controls.Add(RechUrlCbl) ...
Résultat du rendu Htm: <input id="ucRecherche_RechUrlCbl" name="ucRecherche:RechUrlCbl" type="checkbox"><label for="ucRecherche_RechUrlCbl">url</label>
Quand je clique sur un bouton, je veux mémoriser si c'était coché ou non Sub BtnRech_ServerClick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnRech.ServerClick If Page.IsValid Then Dim RechUrl As New CheckBox RechUrl > CType(Page.FindControl("ucRecherche:RechUrlCbl"), CheckBox) If RechUrl Is Nothing = False Then
Et bien RechUrl est toujours Nothing que je coche ou non !?
Celà devrait fonctionner, non? hervé
-- ---------------------------------------------------------------------------- --------- Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning. -- Rich Cook
herve
Cédric Dardenne a écrit :
Salut Hervé,
As-tu essayé de faire juste CType(Page.FindControl("RechUrlCbl"), CheckBox) sans le "ucRecherche:" ?
Cédric
Salut, Oui j'avai essayé et celà ne fonctionnait pas non plus. Je viens de déplacer le chargement dynamique de mon placeholder dans le Page_Init au lieu du Page_PreRender et celà fonctionne maintenant. J'ai toujours du mal à comprendre cet enchainement des évenements, mais celà cloche parfois à cause de celà hervé
Cédric Dardenne a écrit :
Salut Hervé,
As-tu essayé de faire juste CType(Page.FindControl("RechUrlCbl"), CheckBox)
sans le "ucRecherche:" ?
Cédric
Salut,
Oui j'avai essayé et celà ne fonctionnait pas non plus.
Je viens de déplacer le chargement dynamique de mon placeholder dans le
Page_Init au lieu du Page_PreRender et celà fonctionne maintenant.
J'ai toujours du mal à comprendre cet enchainement des évenements, mais
celà cloche parfois à cause de celà
hervé
As-tu essayé de faire juste CType(Page.FindControl("RechUrlCbl"), CheckBox) sans le "ucRecherche:" ?
Cédric
Salut, Oui j'avai essayé et celà ne fonctionnait pas non plus. Je viens de déplacer le chargement dynamique de mon placeholder dans le Page_Init au lieu du Page_PreRender et celà fonctionne maintenant. J'ai toujours du mal à comprendre cet enchainement des évenements, mais celà cloche parfois à cause de celà hervé
Cédric Dardenne
En gros, nous, développeurs, voyons 4 événements : init, load, prerender et render.
Sans rentrer dans les détails, y en a un bon paquet d'autres entre le load et prerender qui récupèrent les données du viewstate, et gèrent les événements qui ont déclenché le postback.
Si ton controle est chargé dans le prérender, le moteur a déjà essayer de lier les événements qui ont déclenché le postback, et c'est donc trop tard, ton controle ne reçoit pas l'événement.
Tu peux donc placer ta création dans le page_load, ça devrait être bon aussi.
Hope This Helps,
Cédric
-- Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning. -- Rich Cook
herve wrote:
Cédric Dardenne a écrit :
Salut Hervé,
As-tu essayé de faire juste CType(Page.FindControl("RechUrlCbl"), CheckBox) sans le "ucRecherche:" ?
Cédric
Salut, Oui j'avai essayé et celà ne fonctionnait pas non plus. Je viens de déplacer le chargement dynamique de mon placeholder dans le Page_Init au lieu du Page_PreRender et celà fonctionne maintenant. J'ai toujours du mal à comprendre cet enchainement des évenements, mais celà cloche parfois à cause de celà hervé
En gros, nous, développeurs, voyons 4 événements : init, load, prerender et
render.
Sans rentrer dans les détails, y en a un bon paquet d'autres entre le load
et prerender qui récupèrent les données du viewstate, et gèrent les
événements qui ont déclenché le postback.
Si ton controle est chargé dans le prérender, le moteur a déjà essayer de
lier les événements qui ont déclenché le postback, et c'est donc trop tard,
ton controle ne reçoit pas l'événement.
Tu peux donc placer ta création dans le page_load, ça devrait être bon
aussi.
Hope This Helps,
Cédric
--
Programming today is a race between software engineers
striving to build bigger and better idiot-proof programs,
and the Universe trying to produce bigger and better idiots.
So far, the Universe is winning.
-- Rich Cook
herve wrote:
Cédric Dardenne a écrit :
Salut Hervé,
As-tu essayé de faire juste CType(Page.FindControl("RechUrlCbl"),
CheckBox) sans le "ucRecherche:" ?
Cédric
Salut,
Oui j'avai essayé et celà ne fonctionnait pas non plus.
Je viens de déplacer le chargement dynamique de mon placeholder dans le
Page_Init au lieu du Page_PreRender et celà fonctionne maintenant.
J'ai toujours du mal à comprendre cet enchainement des évenements, mais
celà cloche parfois à cause de celà
hervé
En gros, nous, développeurs, voyons 4 événements : init, load, prerender et render.
Sans rentrer dans les détails, y en a un bon paquet d'autres entre le load et prerender qui récupèrent les données du viewstate, et gèrent les événements qui ont déclenché le postback.
Si ton controle est chargé dans le prérender, le moteur a déjà essayer de lier les événements qui ont déclenché le postback, et c'est donc trop tard, ton controle ne reçoit pas l'événement.
Tu peux donc placer ta création dans le page_load, ça devrait être bon aussi.
Hope This Helps,
Cédric
-- Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning. -- Rich Cook
herve wrote:
Cédric Dardenne a écrit :
Salut Hervé,
As-tu essayé de faire juste CType(Page.FindControl("RechUrlCbl"), CheckBox) sans le "ucRecherche:" ?
Cédric
Salut, Oui j'avai essayé et celà ne fonctionnait pas non plus. Je viens de déplacer le chargement dynamique de mon placeholder dans le Page_Init au lieu du Page_PreRender et celà fonctionne maintenant. J'ai toujours du mal à comprendre cet enchainement des évenements, mais celà cloche parfois à cause de celà hervé