OVH Cloud OVH Cloud

UniqueID et javascript

7 réponses
Avatar
Etienne
Bonjour,

Les contr=F4les proposent des noms uniques du type=20
_ctl0_ctl6_ctl0_Nom. J'ai besoin d'utiliser le controle en=20
javascript mais je ne vois pas comment r=E9cup=E9rer son=20
UniqueID. J'ai bien essay=E9 de composer le javascript c=F4t=E9=20
server dans mon controle ascx mais apparement=20
Me.StartupRegisterBlock n'est accessible que dans les page=20
aspx.

Sinon, savez vous comment est constitu=E9 ce nom unique ?=20
Est-ce qu'un contr=F4le garde toujours un m=EAme nom unique ou=20
il peut changer en _ctl1_ctl7_ctl1_Nom par exemple ?

Merci de votre aide.

7 réponses

Avatar
Laurent
Nom_du_Control.ClientID te donne son uniqueID. Tu peux utliser ca pour
résoudre ton prob.

Laurent

"Etienne" wrote in message
news:08e001c4bef4$ae681190$
Bonjour,

Les contrôles proposent des noms uniques du type
_ctl0_ctl6_ctl0_Nom. J'ai besoin d'utiliser le controle en
javascript mais je ne vois pas comment récupérer son
UniqueID. J'ai bien essayé de composer le javascript côté
server dans mon controle ascx mais apparement
Me.StartupRegisterBlock n'est accessible que dans les page
aspx.

Sinon, savez vous comment est constitué ce nom unique ?
Est-ce qu'un contrôle garde toujours un même nom unique ou
il peut changer en _ctl1_ctl7_ctl1_Nom par exemple ?

Merci de votre aide.
Avatar
Etienne
Ca m'aide pas beaucoup car c'est en javascript que j'ai
besoin de récupérer le nom unique, ClientID n'est pas
accesible en javascipt.

-----Message d'origine-----
Nom_du_Control.ClientID te donne son uniqueID. Tu peux


utliser ca pour
résoudre ton prob.

Laurent

"Etienne" wrote in


message
news:08e001c4bef4$ae681190$
Bonjour,

Les contrôles proposent des noms uniques du type
_ctl0_ctl6_ctl0_Nom. J'ai besoin d'utiliser le controle en
javascript mais je ne vois pas comment récupérer son
UniqueID. J'ai bien essayé de composer le javascript côté
server dans mon controle ascx mais apparement
Me.StartupRegisterBlock n'est accessible que dans les page
aspx.

Sinon, savez vous comment est constitué ce nom unique ?
Est-ce qu'un contrôle garde toujours un même nom unique ou
il peut changer en _ctl1_ctl7_ctl1_Nom par exemple ?

Merci de votre aide.


.



Avatar
Messenger of the red snake mountain
>Ca m'aide pas beaucoup car c'est en javascript que j'ai
besoin de récupérer le nom unique, ClientID n'est pas
accesible en javascipt.



Bonsoir,

Response.Write("<script>alert(" & lblName.ClientID & ");</script>");

C'est tout à fait possible de récupérer cet ID dans du code
javascript...

.antoine
Avatar
Etienne
J'ai bien compris qu'on peut coder du javascript via le
code behind d'une page aspx en appelant le nom unique du
controle par ctl.ClientID.
Ceci dit, dans un controle ascx, apparemment, la
propriété RegisterBlock qui permet de générer du
javascript n'est pas disponible (dites moi si je me
trompe). Donc je code mon javascript statiquement à
partir de ma page html. Mais quand j'appelle mon controle
en js, je dois faire doument.getElementById
("_ctl0_ctl_6_ctl0_MonControle"), et là ça me plait pas
beaucoup car si je connais ce nom unique en affichant la
source html pendant l'exécution, ce n'est pas une méthode
recommandée.
Merci de votre aide.

-----Message d'origine-----
Ca m'aide pas beaucoup car c'est en javascript que j'ai
besoin de récupérer le nom unique, ClientID n'est pas
accesible en javascipt.



Bonsoir,

Response.Write("<script>alert(" & lblName.ClientID


& ");</script>");

C'est tout à fait possible de récupérer cet ID dans du


code
javascript...

..antoine


.



Avatar
Sacha
Tu peux utiliser RegisterClientScriptBlock depuis un controle .ascx

tu fais simplement :

this.Page.RegisterClientScriptBlock();

.Sacha

"Etienne" a écrit dans le message de
news:244b01c4c0bc$ed1ef470$
J'ai bien compris qu'on peut coder du javascript via le
code behind d'une page aspx en appelant le nom unique du
controle par ctl.ClientID.
Ceci dit, dans un controle ascx, apparemment, la
propriété RegisterBlock qui permet de générer du
javascript n'est pas disponible (dites moi si je me
trompe). Donc je code mon javascript statiquement à
partir de ma page html. Mais quand j'appelle mon controle
en js, je dois faire doument.getElementById
("_ctl0_ctl_6_ctl0_MonControle"), et là ça me plait pas
beaucoup car si je connais ce nom unique en affichant la
source html pendant l'exécution, ce n'est pas une méthode
recommandée.
Merci de votre aide.

-----Message d'origine-----
Ca m'aide pas beaucoup car c'est en javascript que j'ai
besoin de récupérer le nom unique, ClientID n'est pas
accesible en javascipt.



Bonsoir,

Response.Write("<script>alert(" & lblName.ClientID


& ");</script>");

C'est tout à fait possible de récupérer cet ID dans du


code
javascript...

..antoine


.



Avatar
Etienne
Ah cool, j'avais essayé plusieurs choses mais pas ça. Et
comme MSDN dit seulmement que le namespace est
System.Web.UI, ça laissait pas mal de possibilité !
Merci Sacha.

-----Message d'origine-----
Tu peux utiliser RegisterClientScriptBlock depuis un


controle .ascx

tu fais simplement :

this.Page.RegisterClientScriptBlock();

..Sacha

"Etienne" a écrit


dans le message de
news:244b01c4c0bc$ed1ef470$
J'ai bien compris qu'on peut coder du javascript via le
code behind d'une page aspx en appelant le nom unique du
controle par ctl.ClientID.
Ceci dit, dans un controle ascx, apparemment, la
propriété RegisterBlock qui permet de générer du
javascript n'est pas disponible (dites moi si je me
trompe). Donc je code mon javascript statiquement à
partir de ma page html. Mais quand j'appelle mon controle
en js, je dois faire doument.getElementById
("_ctl0_ctl_6_ctl0_MonControle"), et là ça me plait pas
beaucoup car si je connais ce nom unique en affichant la
source html pendant l'exécution, ce n'est pas une méthode
recommandée.
Merci de votre aide.

-----Message d'origine-----
Ca m'aide pas beaucoup car c'est en javascript que j'ai
besoin de récupérer le nom unique, ClientID n'est pas
accesible en javascipt.



Bonsoir,

Response.Write("<script>alert(" & lblName.ClientID


& ");</script>");

C'est tout à fait possible de récupérer cet ID dans du


code
javascript...

..antoine


.





.



Avatar
Etienne
Je suis un crétin, c'était bien marqué dans MSDN, j'ai mal
compris, dsl.

-----Message d'origine-----
Ah cool, j'avais essayé plusieurs choses mais pas ça. Et
comme MSDN dit seulmement que le namespace est
System.Web.UI, ça laissait pas mal de possibilité !
Merci Sacha.

-----Message d'origine-----
Tu peux utiliser RegisterClientScriptBlock depuis un


controle .ascx

tu fais simplement :

this.Page.RegisterClientScriptBlock();

..Sacha

"Etienne" a écrit


dans le message de
news:244b01c4c0bc$ed1ef470$
J'ai bien compris qu'on peut coder du javascript via le
code behind d'une page aspx en appelant le nom unique du
controle par ctl.ClientID.
Ceci dit, dans un controle ascx, apparemment, la
propriété RegisterBlock qui permet de générer du
javascript n'est pas disponible (dites moi si je me
trompe). Donc je code mon javascript statiquement à
partir de ma page html. Mais quand j'appelle mon controle
en js, je dois faire doument.getElementById
("_ctl0_ctl_6_ctl0_MonControle"), et là ça me plait pas
beaucoup car si je connais ce nom unique en affichant la
source html pendant l'exécution, ce n'est pas une méthode
recommandée.
Merci de votre aide.

-----Message d'origine-----
Ca m'aide pas beaucoup car c'est en javascript que j'ai
besoin de récupérer le nom unique, ClientID n'est pas
accesible en javascipt.



Bonsoir,

Response.Write("<script>alert(" & lblName.ClientID


& ");</script>");

C'est tout à fait possible de récupérer cet ID dans du


code
javascript...

..antoine


.





.



.