OVH Cloud OVH Cloud

Accéder aux Control d'un UserControl

3 réponses
Avatar
fabrice
Bonsoir à tous.

Je cherche à accèder aux propriétés de certains Control d'un controle
utilisateur depuis la page .aspx parent.
Par exemple à un Label situé dans le userControl.

J'arrive à toucher un control de la page parent depuis le UserControl avec
la commande suivante ,

Dim myControl As Label =
CType(Parent.Page.FindControl("lblPageLocation"),Label)


mais l'inverse ... je ne sais

merci de votre aide.

fabrice

3 réponses

Avatar
Jean-François Borie
il faut que tu créer une function recursive

appelle la

RecFindControl(this.Page, "MyControl");

public Control RecFindControl(Control ctrl, string label)
{
foreach(Control ctrlin in ctrl.Controls)
{
Control ctrlFound = ctrl.FindControl(label);
if(ctrlFound != null)
return ctrlFound;
RecFindControl(ctrlin);
}
}

"fabrice" a écrit :

Bonsoir à tous.

Je cherche à accèder aux propriétés de certains Control d'un controle
utilisateur depuis la page .aspx parent.
Par exemple à un Label situé dans le userControl.

J'arrive à toucher un control de la page parent depuis le UserControl avec
la commande suivante ,

Dim myControl As Label =
CType(Parent.Page.FindControl("lblPageLocation"),Label)


mais l'inverse ... je ne sais

merci de votre aide.

fabrice





Avatar
Paul Bacelar
Au niveau encapsulation, c'est vraiment pas terrible.

--
Paul Bacelar

"Jean-François Borie" wrote in
message news:
il faut que tu créer une function recursive

appelle la

RecFindControl(this.Page, "MyControl");

public Control RecFindControl(Control ctrl, string label)
{
foreach(Control ctrlin in ctrl.Controls)
{
Control ctrlFound = ctrl.FindControl(label);
if(ctrlFound != null)
return ctrlFound;
RecFindControl(ctrlin);
}
}

"fabrice" a écrit :

> Bonsoir à tous.
>
> Je cherche à accèder aux propriétés de certains Control d'un controle
> utilisateur depuis la page .aspx parent.
> Par exemple à un Label situé dans le userControl.
>
> J'arrive à toucher un control de la page parent depuis le UserControl


avec
> la commande suivante ,
>
> Dim myControl As Label > > CType(Parent.Page.FindControl("lblPageLocation"),Label)
>
>
> mais l'inverse ... je ne sais
>
> merci de votre aide.
>
> fabrice
>
>
>


Avatar
fabrice
bonjour a tous

finalement, voici ma méthode, si cela intéresse quelqu'un

Dim monUC As System.Web.UI.UserControl
monUC = CType(Page.FindControl("MyNavFooter"), System.Web.UI.UserControl)
Dim myImgUC As System.Web.UI.WebControls.Image
myImgUC =
CType(monUC.FindControl("imgPortBre"),System.Web.UI.WebControls.Image)
myImgUC .Visible = False


merci de vos réponse.


J'ai essayer aussi la méthode via une Property qui fonctionne bien, mais
j'ai opté pour la solution ci dessus.


merci de vos réponses.
fabrice.



"fabrice" a écrit dans le message de news:

Bonsoir à tous.

Je cherche à accèder aux propriétés de certains Control d'un controle
utilisateur depuis la page .aspx parent.
Par exemple à un Label situé dans le userControl.

J'arrive à toucher un control de la page parent depuis le UserControl avec
la commande suivante ,

Dim myControl As Label =
CType(Parent.Page.FindControl("lblPageLocation"),Label)


mais l'inverse ... je ne sais

merci de votre aide.

fabrice