none
Webpart non affichée après ajout. RRS feed

  • Discussion générale

  • Bonjour,

    Au chargement de ma page, je souhaite ajouter des webparts.

    Dans le load de ma page j'ajoute les webparts de cette manière :

     

     protected override void OnLoad(EventArgs e)
            {
                base.OnLoad(e);
    
                Guid webGuid = SPContext.Current.Web.ID;
                Guid siteGuid = SPContext.Current.Site.ID;
    
                SPContext.Current.Web.AllowUnsafeUpdates = true;
                SPContext.Current.Web.Update();
    
                SPSecurity.RunWithElevatedPrivileges(delegate()
                {
                    using (SPSite site = new SPSite(siteGuid))
                    {
                        using (SPWeb web = site.OpenWeb(webGuid))
                        {
                            bool webAllowUnsafe = web.AllowUnsafeUpdates;
                            web.AllowUnsafeUpdates = true;
    
                            SPLimitedWebPartManager oManager = web.GetLimitedWebPartManager(System.Web.HttpContext.Current.Request.Path, PersonalizationScope.Shared);
    
    
    GetSqlWebPart("myWebPart", oManager, "MyZone");
    
                            web.AllowUnsafeUpdates = webAllowUnsafe;
                          }
                    }
                });
    
                SPContext.Current.Web.AllowUnsafeUpdates = false;
                SPContext.Current.Web.Update();
            }
    
    
            public void GetSqlWebPart(string sqlWPTitle, SPLimitedWebPartManager oManager, string zone)
            {
                try
                {
                    if (oManager.WebParts[sqlWPTitle] == null)
                    {
                        MyWebPart sqlWP = new MyWebPart();
                        sqlWP.Title = sqlWPTitle;
                        sqlWP.ID = sqlWPTitle;
    
                        oManager.AddWebPart(sqlWP, zone, 1);
                    }
                    else
                    {
                        MyWebPart sqlWP2 = (MyWebPart )oManager.WebParts[sqlWPTitle];
                        sqlWP2.Title = sqlWPTitle;
                        sqlWP2.ID = sqlWPTitle;
                        oManager.SaveChanges(sqlWP2);
                    }
                }
                catch (Exception ex)
                {
    
                }
            }
    

    Le problème est que lors de l'ajout de la webpart, celle-ci n'apparait pas sur ma page, je suis toujours obliger de rafraichir la page pour l'afficher.  

    Concernant les modifications si la webpart est existante, celles-ci ne sont pas prisent en compte et là aussi je dois rafraichir la page pour afficher les modifications.

    Que puis-je faire ?

    Merci d'avance.

    eGm_



    • Modifié eGm Be lundi 10 octobre 2011 17:12 erreurs
    • Type modifié Ciprian Duduiala lundi 17 octobre 2011 05:05 attente de feedback
    • Déplacé Hengzhe Li mardi 21 février 2012 06:41 merge forum (Origine :Développement Sharepoint 2010)
    lundi 10 octobre 2011 08:40

Toutes les réponses