0

サイトを作成し、Sharepoint 2010 Web サービスを介してプログラムでドキュメント ライブラリのコンテンツ タイプを追加しています。私はこれを行うことができますが、ドキュメント ライブラリのコンテンツ タイプを有効/許可したいと考えています。コードは次のとおりです。

    Lists.Lists lists = new Lists.Lists();
    lists.Url = sharepointWebSiteUrl + "/_vti_bin/lists.asmx";
    lists.Credentials = System.Net.CredentialCache.DefaultCredentials;

    // Create document library templateid 101 is a document library
    System.Xml.XmlNode result = lists.AddList(documentLibraryName, documentLibraryName, 101);
    XmlDocument xmlDoc = new XmlDocument();
    XmlNode xnProperties = xmlDoc.CreateNode(XmlNodeType.Element, "List", "");

    //Allow/enable content types for the document library
    XmlAttribute xnAllowContentTypesAttribute = (XmlAttribute)xmlDoc.CreateNode(XmlNodeType.Attribute, "AllowContentTypes", "");
    xnAllowContentTypesAttribute.Value = "True";
    xnProperties.Attributes.Append(xnAllowContentTypesAttribute);

    XmlAttribute xnContentTypesEnabledAttribute = (XmlAttribute)xmlDoc.CreateNode(XmlNodeType.Attribute, "ContentTypesEnabled", "");
    xnContentTypesEnabledAttribute.Value = "True";
    xnProperties.Attributes.Append(xnContentTypesEnabledAttribute);

    XmlNode updateList = lists.UpdateList(documentLibraryName, xnProperties, null, null, null, null);

    //Add the content types
    XmlNode xmlNodeContentType = null;
    xmlNodeContentType = lists.ApplyContentTypeToList(sharepointWebSiteUrl, Constants.ReportDocumentLibraryContentTypeId, documentLibraryName);
    xmlNodeContentType = lists.ApplyContentTypeToList(sharepointWebSiteUrl, Constants.DataSourceDocumentLibraryContentTypeId, documentLibraryName);
    xmlNodeContentType = lists.ApplyContentTypeToList(sharepointWebSiteUrl, Constants.ModelDocumentLibraryContentTypeId, documentLibraryName);

上記はドキュメント ライブラリを作成し、コンテンツ タイプを追加しますが、ドキュメント ライブラリのコンテンツ タイプを許可/有効化しません。

オブジェクト モデルではなく、 Web サービスを介してこれを行う必要があることを思い出してください。

4

1 に答える 1

0

msdnによると、EnableContentTypes属性名を試す必要があります。

于 2014-02-25T19:29:37.810 に答える