Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Comment modifier un Controle serveur depuis une page différente ???

1 réponse
Avatar
Rossi Stéphane
Bonjour, j'utilise un menu dans un controle ascx.
J'ai créé une page aspx dans lquelle j'ai inséré le controle menu ascx.(ce
controle contient egalement une listBox)
J'ai également insérer dans la page aspx une iframe (avec runat=server) dans
laquelle j'affiche les pages liées à mon menu.

Je souhaite rafraichir la page qui est dans mon iframe lorsque je
selectionne un élément différent de ma listbox.
mon idée était d'affecter depuis le controle ascx la propriétée src de
l'iframe qui se trouve sur la page aspx, avec un code du style :
Me.MaPageIndex.MonIframe.Attributes.Add("src", Me.LastItemMenu)

Voilà, j'espère avoir été assez clair.

1 réponse

Avatar
Daniel TIZON
Bonjour Stéphane,
Le UserControl n'est pas sencé interragir directement avec d'autres
contrôles de la page qui l'héberge.
Si tu persiste dans cette voix, tu peux eventuelement écrire un code du type
: Me.Parent.FindControl("MonIframe").Attributes.Add("src", Me.LastItemMenu),
dans la mesure où ton Iframe est marqué runat=server
Pour éviter que le UserControl ne fasse sa cuisine dans son coin, il serait
mieux de lever un événement qui serait intercepté par la page hôte et qui
elle-même irait modifier d'autre contrôles.

Maintenant, Si tu as mis un Iframe dans ta page, je suppose que tu ne veux
pas que toute ta page soit rechargée lorsque tu clique dans ton menu,
n'est-ce pas ?
Donc passer par un PostBack ne semble pas être la solution adaptée, il faut
donc passer par du Javascript. Donc plutôt que de faire un postback
lorsqu'on clique sur le menu, appelle une fonction javascript qui va
modifier l'attribut src de ton Iframe. La fonction Javascript pourra être
inscrite dans la page par le UserControl lui-même via une instruction
Page.RegisterClientScript ou Page.RegisterStartUpScript

Cordialement,
--
Daniel TIZON
MCP - MCSD.NET - MCT


"Rossi Stéphane" a écrit dans le message de
news: %
Bonjour, j'utilise un menu dans un controle ascx.
J'ai créé une page aspx dans lquelle j'ai inséré le controle menu ascx.(ce
controle contient egalement une listBox)
J'ai également insérer dans la page aspx une iframe (avec runat=server)
dans
laquelle j'affiche les pages liées à mon menu.

Je souhaite rafraichir la page qui est dans mon iframe lorsque je
selectionne un élément différent de ma listbox.
mon idée était d'affecter depuis le controle ascx la propriétée src de
l'iframe qui se trouve sur la page aspx, avec un code du style :
Me.MaPageIndex.MonIframe.Attributes.Add("src", Me.LastItemMenu)

Voilà, j'espère avoir été assez clair.