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

SharePoint .NET Discussion :

Problème Custom WebPart


Sujet :

SharePoint .NET

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2011
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Décembre 2011
    Messages : 45
    Points : 33
    Points
    33
    Par défaut Problème Custom WebPart
    Bonjour tout le monde, j'ai actuellement un problème avec une de mes Webpart.
    J'ai créé une Webpart qui permet de récupérer tous les documents dernièrement ajoutés dans les bibliothèques du site.

    Lorsque j'ajoute un nouveau document dans une bibliothèque, que je retourne à l'accueil du site pour voir si elle apparait dans la WebPart, tous les anciens doc qui étaient dans cette webpart disparaissent, il me suffit de raffraichir 2,3 fois la page et la webpart re-fonctionne et ré-affiche les documents dont le dernier ajouter.

    J'opte pour un problème d'update, mais je ne vois pas trop.

    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
     public class DerniersDocumentsPublies : ContentByQueryWebPartPaging
        {
     
            bool _afficherDocsSousSites;
     
            public DerniersDocumentsPublies()
            {
     
            }
     
     
            protected override void OnLoad(EventArgs e)
            {
                base.OnLoad(e);
     
                //Mise à jour du paramètre weburl
                //Les documents doivent être récupérés à partir du site en cours
                if (string.IsNullOrEmpty(this.WebUrl) && string.IsNullOrEmpty(this.ListName))
                {
                    this.WebUrl = SPContext.Current.Web.ServerRelativeUrl;
                }
     
                if (!_afficherDocsSousSites)
                {
                    //Ne pas afficher les documents des sous-sites
                    if (string.IsNullOrEmpty(this.WebsOverride) || !this.WebsOverride.Equals(this.WebUrl))
                    {
                        this.WebsOverride = this.WebUrl;
                    }
                }
                else
                {
                    //Affichage des documents sur les sous-sites donc pas de websoverride
                    this.WebsOverride = string.Empty;
                }
            }
     
     
            /////=================================================================================================================================
            /// <summary>
            /// Surcharge de la méthode getToolParts afin de prendre en compte les propriétés
            /// </summary>
            /// <returns></returns>
            /////=================================================================================================================================
            public override ToolPart[] GetToolParts()
            {
                ToolPart[] toolparts = new ToolPart[3];
                ToolPart wptp0 = base.GetToolParts()[0];
                ToolPart wptp1 = base.GetToolParts()[1];
                CustomPropertyToolPart custom = new CustomPropertyToolPart();
                toolparts[0] = wptp0;
                toolparts[1] = wptp1;
                toolparts[2] = custom;
     
                return toolparts;
            }
     
            protected override void CreateChildControls()
            {
                this.ProcessDataDelegate = new ProcessData(ProcessItems);
     
                base.CreateChildControls();
            }
     
     
            ///=================================================================================================================================
            /// <summary>
            /// Méthode déclenchée à la récupération des données
            /// </summary>
            /// <param name="dt"></param>
            /// <returns></returns>
            ///=================================================================================================================================
            protected DataTable ProcessItems(DataTable dt)
            {
     
     
                    DataTable dataTable = null;
     
                    //dt.DefaultView.RowFilter = string.Format(CultureInfo.CurrentCulture,"PublishingStartDate <= '{0}' AND (PublishingExpirationDate >= '{0}' OR PublishingExpirationDate='')", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss",CultureInfo.CurrentCulture));
     
                    dataTable = dt.DefaultView.ToTable();
     
                    dt = dataTable;              
     
                return dt;
            }
     
            ///=====================================================================================================================================
            /// <summary>
            /// Indique le nombre de news à afficher
            /// </summary>
            ///=====================================================================================================================================
            [WebBrowsable(true),
                Category("Paramètres"),
                Personalizable(PersonalizationScope.Shared),
                WebPartStorage(Storage.Personal),
                WebDisplayName("Avec documents des sous-sites"),
                Description("Affichage aussi des documents issus des sous-sites"),
                DefaultValueAttribute("true")]
            public bool AfficherDocsSousSites
            {
                get { return _afficherDocsSousSites; }
                set { _afficherDocsSousSites = value; }
            }
        }
     
    }

  2. #2
    Expert confirmé Avatar de Lapinpanda
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2009
    Messages
    3 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 230
    Points : 4 913
    Points
    4 913
    Par défaut
    BOnjour,


    de mémoire il me semble que les ContentQuery Webpart gère un cache, afin de limiter les requetes... donc cela explique votre comportement
    Merci d'utiliser en cas de résolution de votre problème

    N'oubliez pas non plus le petit pouce vert pour récompenser celui que vous a aidé

  3. #3
    Membre chevronné
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    1 486
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 486
    Points : 2 082
    Points
    2 082
    Par défaut
    +1 pour le cache que l'on oublie trop souvent.

    http://www.sharepointbloggers.com/20...-web-part.html

Discussions similaires

  1. [SP-2010] Problème Ajout Custom WebPart
    Par the_king. dans le forum SharePoint
    Réponses: 7
    Dernier message: 02/12/2010, 11h18
  2. CheckBoxLists, listes custom, WebPart
    Par Shine76 dans le forum SharePoint
    Réponses: 5
    Dernier message: 20/08/2008, 13h02
  3. Problème de webpart
    Par tipierre76 dans le forum SharePoint
    Réponses: 2
    Dernier message: 22/04/2008, 10h37
  4. problême customize main_template
    Par Cynder dans le forum Zope
    Réponses: 1
    Dernier message: 14/04/2008, 14h23
  5. [MOSS] Problème affichage WebPart dans la zone Internet
    Par voschielle dans le forum SharePoint
    Réponses: 7
    Dernier message: 20/10/2007, 12h54

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