views:

61

answers:

3

Hi All,

I am using below code to Add SummaryLinkWebPart to a Page and also adding few links to that wehbpart. I can see the webpart now on the page but it doesn't have any links inside it. Does anyone know what is wrong with the code?

SPLimitedWebPartManager wpm = web.GetLimitedWebPartManager("Pages/default.aspx",PersonalizationScope.Shared);

SummaryLinkWebPart slwp = new SummaryLinkWebPart(); for (int counter = 0; counter < list.ItemCount; counter++) { urlField = list.Items[counter]["URL"].ToString().Split(',');

                    SummaryLink link = new SummaryLink(urlField[1].Trim());
                    slwp.SummaryLinkValue.SummaryLinks.Add(link);
                    slwp.SummaryLinkValue.SummaryLinks[counter].OpenInNewWindow = true;
                    slwp.SummaryLinkValue.SummaryLinks[counter].LinkUrl = urlField[0].Trim();
                    slwp.SummaryLinkValue.SummaryLinks[counter].Description = urlField[1];
                    slwp.Style = "Image on left";
                    Console.WriteLine(link.LinkUrl + link.Title);
                }

                wpm.AddWebPart(slwp, lvwp.ZoneID, slwp.ZoneIndex + 1);
A: 

Hmm this seems to be the hack but the only thing that solves this issue is reassigning the SummaryLinkValue Property back again its value.

slwp.SummaryLinkValue = slwp.SummaryLinkValue;

Mac
A: 

use

SPLimitedWebPartManager wpManager = page.GetLimitedWebPartManager(System.Web.UI.WebControls.WebParts.PersonalizationScope.Shared);

the when done call page.Update()

something like this

SPFile page = web.GetFile(string.Format("Pages/{0}", this.FileName.Replace("html", "aspx"))); SPLimitedWebPartManager wpManager = page.GetLimitedWebPartManager(System.Web.UI.WebControls.WebParts.PersonalizationScope.Shared); SummaryLinkWebPart webpart = new SummaryLinkWebPart();

            if (!string.IsNullOrEmpty(RelatedTopic1))
                webpart.SummaryLinkValue.SummaryLinks.Add(GetSummaryLink(web, pages, RelatedTopic1));
            if (!string.IsNullOrEmpty(RelatedTopic2))
                webpart.SummaryLinkValue.SummaryLinks.Add(GetSummaryLink(web, pages, RelatedTopic2));
            if (!string.IsNullOrEmpty(RelatedTopic3))
                webpart.SummaryLinkValue.SummaryLinks.Add(GetSummaryLink(web, pages, RelatedTopic3));
            if (!string.IsNullOrEmpty(RelatedTopic4))
                webpart.SummaryLinkValue.SummaryLinks.Add(GetSummaryLink(web, pages, RelatedTopic4));
            if (webpart.SummaryLinkValue.SummaryLinks.Count > 0)
            {
                wpManager.AddWebPart(webpart, "BottomPanel", 0);
                page.Update();
            }
dpalfery

related questions