IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

Agir sur un div dans un controle utilisateur intégré


Sujet :

ASP.NET

  1. #1
    Membre extrêmement actif
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Points : 1 434
    Points
    1 434
    Par défaut Agir sur un div dans un controle utilisateur intégré
    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 :
    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>
    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
     
    <%@ 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>
    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
     
    Protected Sub lbsign_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles lbSign.Click
            divFondSign.Style("Display") = "Block"
        End Sub
    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.

    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é :
    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
    Et donc mon souci est que :
    - 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 ?
    Mon blog de création d'univers : Qualhiryann
    Mon site qui parle de moi www.ozouf.com
    Pour les joueurs de WOW je suis sur Ysondres et mon perso est Ablanore.

  2. #2
    Expert confirmé

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2010
    Messages
    2 065
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2010
    Messages : 2 065
    Points : 4 229
    Points
    4 229
    Par défaut
    je pense que ce que tu recherches est dans ce tuto:
    http://lutecefalco.developpez.com/tu...e-asp-net/#LII

  3. #3
    Membre extrêmement actif
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Points : 1 434
    Points
    1 434
    Par défaut
    Merci pour ton aide.

    Oui, c'est quasiment ça et LuteceFalco est vraiment balaise.

    Mais en poursuivant mes recherches, je me suis aperçu que j'avais zappé un détail : l'UpdatePanel à besoins d'avoir ses contrôles trigger dans le même contrôle, du coup, j'ai été obligé de séparer tout l'ensemble et donc je me retrouve avec le Dvi dans le même contrôel utilisateur, donc plus besoins d'y accéder.

    Mais ce tuto va me servir pour d'autre truc, je pense.

    Merci à toi et bonne journée.
    Mon blog de création d'univers : Qualhiryann
    Mon site qui parle de moi www.ozouf.com
    Pour les joueurs de WOW je suis sur Ysondres et mon perso est Ablanore.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. bug sur les linkbutton dans un controle utilisateur web
    Par agnes huchon dans le forum ASP.NET
    Réponses: 9
    Dernier message: 20/03/2009, 10h02
  2. Passage de variables dans un controle utilisateur
    Par oclone dans le forum ASP.NET
    Réponses: 6
    Dernier message: 09/10/2008, 10h30
  3. Réponses: 4
    Dernier message: 13/08/2007, 17h13
  4. objet métier dans un controle utilisateur
    Par cyberchand dans le forum ASP.NET
    Réponses: 4
    Dernier message: 25/02/2007, 16h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo