0

プログラムで発行 Web を作成するコードがあります。1つのことを除いて正常に動作します。デフォルトのドキュメント リストビュー Web パーツを default.aspx ページに追加する必要があります。Web パーツが追加されますが、ドキュメント Web パーツを手動で追加した場合に表示されるように、下部に [ドキュメントの追加] リンクがありません。奇妙なのは、Web パーツを編集すると、リスト ビュー、外観、レイアウト、詳細のセクションがあることです。変更せずに [OK] をクリックし、戻って Web パーツを編集すると、2 つのセクションが追加されます。AJAX オプションとその他。変更せずにもう一度 [OK] をクリックすると、ドキュメントの追加リンクが表示されます。

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 パーツに [ドキュメントの追加] リンクを含める方法はありますか?

4

1 に答える 1

0

XsltListViewWebPart wpDoc = new XsltListViewWebPart(); で試してください。

ListViewWebPart の代わりに wpDoc = new ListViewWebPart();

SP2013でうまくいきました。

于 2013-03-15T13:21:00.677 に答える