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 :

Usercontrol, PlaceHolder et ajaxToolkit:TabPanel


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert
    Avatar de jbrasselet
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Mars 2006
    Messages
    1 022
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 022
    Par défaut Usercontrol, PlaceHolder et ajaxToolkit:TabPanel
    Bonjour,

    tout d'abord une petite présentation rapide de ce que fait mon interface :
    Elle présente 4 onglets.
    Dans chaque onglet un formulaire de recherche et une zone d'affichage des résultats (à chaque fois le même design)

    J'ai donc créée une page principale contenant des panel avec l'ajaxcontroltoolkit. Jusque là rien d'extraordinaire.
    J'ai déporté le code de chaque onglet dans un user control afin d'améliorer la lisibilité et la maintenance du code (et aussi car un des composants est réutilisable)
    Mes affichages se présentant de la même manière (un entête avec un titre puis le contenu encadré) j'ai décidé de créer un user control générant cette structure.
    Voici sa tête :
    Code aspnet : 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
    <%@ Control Language="C#" AutoEventWireup="true" CodeBehind="SectionPanel.ascx.cs"
       Inherits="Component.SectionPanel" %>
    <%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="asp" %>
    <asp:UpdatePanel ID="UpdatePanelSectionPanel" runat="server">
       <ContentTemplate>
          <asp:Panel ID="PnlTitle" runat="server">
             <div class="dataTitle">
                <asp:Label ID="TitleValue" Text="Titre" runat="server" />
                <asp:Label ID="LblState" Text="" runat="server" CssClass="GrayItalic" />
             </div>
          </asp:Panel>
          <asp:Panel ID="PnlContent" runat="server">
             <div style="display: block;" class="dataContent">
                <asp:PlaceHolder ID="PghContent" runat="server" />
             </div>
          </asp:Panel>
       </ContentTemplate>
    </asp:UpdatePanel>

    Code c# : 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
    28
    29
    30
    31
    32
    namespace Component
    {
       [ParseChildren(true)]
       [PersistChildren(true)]
        public partial class SectionPanel : System.Web.UI.UserControl
       {
          private List<Control> _content;
          [Browsable(true),
          Category("Appearance"),
          Description("Content of the CollapsePanel")]
          [PersistenceMode(PersistenceMode.InnerProperty)]
          [DesignerSerializationVisibility(DesignerSerializationVisibility.Content)]
          public List<Control> Content { get { return _content; } set { _content = value; } }
     
          public string Title
          {
             get { return TitleValue.Text; }
             set { TitleValue.Text = value; }
          }
     
          protected void Page_Load(object sender, EventArgs e)
          {
             if (_content != null)
                foreach (var ctrl in _content)
                {
                   PghContent.Controls.Add((Control)ctrl);
                }
     
     
          }
       }
    }

    Je réalise donc mes différents user control sans souci.
    Je réalise une recherche dans mon premier onglet et elle s'affiche comme attendue.
    Je réalise une recherche dans mon deuxième onglet et elle s'affiche comme attendue.
    Je réalise une nouvelle recherche dans mon premier onglet, elle s'exécute correctement mais affiche le résultat du deuxième onglet !
    Je réalise une nouvelle recherche dans mon deuxième onglet et elle s'affiche correctement.
    Je retourne sur mon premier onglet et le résultat de la recherche est de nouveau bon à l'affichage.

    J'ai l'impression qu'à un moment il s'emmêle les pinceaux mais je n'arrive pas trop à savoir où.

    Si dans mon premier onglet, je vire mon sectionpanel, je n'ai plus aucun souci...

    Auriez-vous déjà rencontré un problème du genre ? Une idée sur ce qu'il peut arriver ?
    C'est peut être un brin brouillon mais je reste à votre disposition pour de plus amples renseignements

    Merci d'avance

  2. #2
    Membre Expert
    Avatar de Nicolas Esprit
    Homme Profil pro
    Consultant en technologies
    Inscrit en
    Février 2010
    Messages
    1 467
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en technologies
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 1 467
    Par défaut
    Bizarre comme erreur en effet

    Pourrais-tu jeter un oeil ou poster le code HTML de la page. Histoire de voir s'il n'y a pas un problème avec le ID (lors du premier rendu, ou lors de la second recherche).

  3. #3
    Membre Expert
    Avatar de jbrasselet
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Mars 2006
    Messages
    1 022
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 022
    Par défaut
    J'y avais pensé mais tout semble ok à ce niveau là

    En ne gardant que le placeholder j'ai toujours le problème.
    J'en conclue que le problème vient du placeholder mais je n'arrive pas à comprendre trop pourquoi.

    La structure de mon usercontrol n'étant pas trop complexe, je code directement dans le html les contenant (donc je n'utilise plus mon user control) et tout se passe bien.

    Je tenterais un proto plus petit pour voir si j'ai toujours le même souci

  4. #4
    Membre éprouvé
    Avatar de Pelote2012
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2008
    Messages
    925
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2008
    Messages : 925
    Billets dans le blog
    2
    Par défaut
    J'ai déjà eu des problèmes avec des placeholder et autre dynamique control
    du style :
    -faire le bind dans l'init
    -rebrancher des évènements
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If ContInfo.Value.BtnSup IsNot Nothing Then AddHandler ContInfo.Value.BtnSup.Click, AddressOf Me.btnDelInvite_Click
    Mais aussi l'updatepanel, dès fois il faut le forcer à se rafraichir, surtout si tu utilise une master avec déjà un updatepanel

    Si ça peut donner des idées... je dois avouer que c'est un peu space ton problème

Discussions similaires

  1. [ASP 1.1 / C#] PlaceHolder et UserControl
    Par User.Anonymous dans le forum ASP.NET
    Réponses: 8
    Dernier message: 17/12/2007, 10h19
  2. Ajax Controls (Atlas) TabPanel et usercontrol
    Par chnew dans le forum ASP.NET
    Réponses: 4
    Dernier message: 06/06/2007, 10h35
  3. Réponses: 1
    Dernier message: 01/05/2007, 14h59
  4. usercontrol & placeholder
    Par wayak3 dans le forum ASP.NET
    Réponses: 1
    Dernier message: 27/03/2007, 15h50
  5. [VB6] [UserControl] Évènements personnalisés
    Par Frankywinky dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 27/05/2003, 17h56

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