我有以编程方式创建发布网站的代码。它工作正常,除了一件事。我必须将开箱即用的文档列表视图 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);
任何想法如何让 Web 部件包含“添加文档”链接?