Bonjour à tous.
Je suis face à un souci où je ne sais plus trop comment m'y prendre.
J'ai un contrôle utilisateur dans lequel j'affiche deux boutons images avec de l'AJAX. Et j'ai un autre contrôle (deux en fait, mais le fonctionnement sera le même) qui affiche un composant de connexion qui contient un div en display none.
Le bouton image du contrôle supérieur doit changer ce display en block pour le faire apparaitre. Tout ceci fonctionne trés bien si tout le monde est dans le même contrôle utilisateur. Mais je suis contraint de séparer les deux systèmes puisqu'il y en a un pour la connexion et l'autre pour l'enregistrement. Et vu qu'ils sont customisés, j'ai des conflits de nommage.
Il y a longtemps j'avais eu le même genre de souci, mais je ne retrouve pas le moyen que j'ai utilisé et je pense que la configuraiton a un peu changé(longtemps ce compte en année...). C'est sur ce forum que l'on m'avait donné la solution et l'explication, mais je ne retrouve pas le topic.
Donc voici le code du contrôle du haut :
Voici le code d'un contrôle intégré
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 <%@ Control Language="VB" AutoEventWireup="false" CodeFile="ConEnr.ascx.vb" Inherits="Module_GestionUser_ConEnr" %> <asp:LinkButton ID="lbJoin" runat="server" CausesValidation="false"> <img alt="Inscription" src="/App_Themes/inscription.png" class="noborder" /> </asp:LinkButton> <img alt="Conexion" src="/App_Themes/ou.png" class="noborder" /> <asp:LinkButton ID="lbSign" runat="server" CausesValidation="false"> <img alt="Conexion" src="/App_Themes/connection.png" class="noborder" /> </asp:LinkButton> <asp:LoginStatus ID="lsConnexion" runat="server" CssClass="lien CONENR_Lien" LogoutAction="Redirect"/> <ajax:UpdatePanel ID="upRegister" runat="server" ChildrenAsTriggers="true" UpdateMode="Always" RenderMode="Inline"> <Triggers> <ajax:AsyncPostBackTrigger ControlID="lbjoin" EventName="Click" /> <ajax:AsyncPostBackTrigger ControlID="btnValider" EventName="Click" /> </Triggers> <ContentTemplate> <Composite:Inscription ID="Inscription" runat="server" /> </ContentTemplate> </ajax:UpdatePanel> <ajax:UpdatePanel ID="upSing" runat="server" ChildrenAsTriggers="true" UpdateMode="Always" RenderMode="Inline"> <Triggers> <ajax:AsyncPostBackTrigger ControlID="lbSign" EventName="Click" /> </Triggers> <ContentTemplate> <Composite:Connexion ID="Connexion" runat="server" /> </ContentTemplate> </ajax:UpdatePanel>
Et là, le codebehind du contrôle supérieur qui gère le bouton pour faire apparaitre la mire de connexion :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 <%@ Control Language="VB" AutoEventWireup="false" CodeFile="Connexion.ascx.vb" Inherits="Module_GestionUser_Integre_Connexion" %> <div id="divFondSign" runat="server" style="display:none;" class="FondOpaqueGene FondOpaqueConEnr"> <div id="divDevantSign" class="DivDevantGene DivDevantConnexion"> <!-- ici tout le code de la mire de connexion, inutile pour l'objet de ce message.--> </div> </div> </div>
Evidement, divFondSign n'est pas dans le contrôle utilisateur concerné, il est dans le contrôle utilisateur intégré. Je ne trouve pas le moyen de le toucher.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 Protected Sub lbsign_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles lbSign.Click divFondSign.Style("Display") = "Block" End Sub
On m'avait fourni une idée à base de propriété, mais je n'arrive pas à le remetre en place avec ce genre de chose, placé dans le contrôle utilisateur intégré :
Et donc mon souci est que :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 Public ReadOnly Property DivFondId() As String Get Return divFondSign.UniqueID End Get End Property
- je ne suis pas sûr que ce soit la bonne méthode
- je n'arrive pas à pointer vers cette propriété.
Pouvez vous m'aider ?
Partager