Sharepoint 2007 以编程方式添加的SummaryLinkWebPart不';t显示链接

Sharepoint 2007 以编程方式添加的SummaryLinkWebPart不';t显示链接,sharepoint-2007,Sharepoint 2007,我正在使用下面的代码将SummaryLinkWebPart添加到页面中,同时也向该Web部件添加了一些链接。我现在可以在页面上看到这个Web部件,但里面没有任何链接。有人知道代码有什么问题吗 var wpm = web.GetLimitedWebPartManager("Pages/default.aspx", PersonalizationScope.Shared); SummaryLinkWebPart slwp = new SummaryLinkWebPart(); for (i

我正在使用下面的代码将SummaryLinkWebPart添加到页面中,同时也向该Web部件添加了一些链接。我现在可以在页面上看到这个Web部件,但里面没有任何链接。有人知道代码有什么问题吗

var 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);
var wpm=web.GetLimitedWebPartManager(“Pages/default.aspx”,PersonalizationScope.Shared);
SummaryLinkWebPart slwp=新的SummaryLinkWebPart();
对于(int counter=0;计数器
嗯,这似乎是一个黑客行为,但解决这个问题的唯一办法是重新分配SummaryLinkValue属性的值


slwp.SummaryLinkValue=slwp.SummaryLinkValue

嗯,这似乎是一个黑客行为,但解决这个问题的唯一办法是重新分配SummaryLinkValue属性的值

slwp.SummaryLinkValue=slwp.SummaryLinkValue

使用

SPLimitedWebPartManager wpManager = page.GetLimitedWebPartManager(System.Web.UI.WebControls.WebParts.PersonalizationScope.Shared);
然后在完成后调用
page.Update()
。像这样的

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();
}
使用

然后在完成后调用
page.Update()
。像这样的

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();
}