将文档库Web部件添加到sharepoint页面的问题

时间:2013-03-12 14:04:15

标签: listview sharepoint web-parts documents

我有以编程方式创建发布网络的代码。除了一件事,它工作正常。我必须将开箱即用的文档listview web部件添加到default.aspx页面。它添加了Web部件,但它没有底部的添加文档链接,就像您手动添加文档Web部件一样。奇怪的是,如果我编辑Web部件,则有列表视图,外观,布局和高级部分。我单击确定而不进行更改,如果我返回并编辑Web部件,则有2个添加的部分。 AJAX选项和杂项。如果我再次单击“确定”而不进行更改,则会显示“添加文档”链接。

string pageURL = "default.aspx";

SPFile destFile = newWeb.GetFile(pageURL);
if (destFile.Exists)
{
  if (destFile.CheckOutType == SPFile.SPCheckOutType.None)
    destFile.CheckOut();
}
else
{
    pageURL = "pages/default.aspx";
    destFile = newWeb.GetFile(pageURL);
    if (destFile.CheckOutType == SPFile.SPCheckOutType.None)
        destFile.CheckOut();
}

SPLimitedWebPartManager mgr = 
    newWeb.GetLimitedWebPartManager(pageURL, PersonalizationScope.Shared);

// add the document library
SPList docLib;

if (!bHasDocuments)
{
    // create the document library
    Guid docLibGuid = newWeb.Lists.Add(
        "Documents", 
        "", 
        SPListTemplateType.DocumentLibrary);

    docLib = newWeb.Lists[docLibGuid];
}
else
{
    docLib = newWeb.Lists["Documents"];
}

docLib.OnQuickLaunch = true;
docLib.Update();

SPDocumentLibrary spDocLib = (SPDocumentLibrary)docLib;
spDocLib.EnableVersioning = true;
spDocLib.EnableMinorVersions = false;

// add the doc lib to the home page
ListViewWebPart wpDoc = new ListViewWebPart();
wpDoc.ZoneID = "TopZone";
wpDoc.ListName = docLib.ID.ToString("B").ToUpper();
wpDoc.ViewGuid = docLib.DefaultView.ID.ToString("B").ToUpper();

// Add the web part
mgr.AddWebPart(wpDoc, wpDoc.ZoneID, 20);

如何让网络部件包含添加文档链接?

1 个答案:

答案 0 :(得分:0)

试试  XsltListViewWebPart wpDoc = new XsltListViewWebPart();

INSTEAD OF ListViewWebPart wpDoc = new ListViewWebPart();

在SP2013中它对我有用。