Cet article a fait l’objet d’une traduction automatique. Pour afficher l’article en anglais, activez la case d’option Anglais. Vous pouvez également afficher le texte anglais dans une fenêtre contextuelle en faisant glisser le pointeur de la souris sur le texte traduit.
Traduction
Anglais

SPContentType.Update - Méthode (Boolean)

Met à jour la définition de type de contenu qui est stockée dans la base de données et, le cas échéant, met à jour tous les types de contenu qui héritent de ce type de contenu.

Espace de noms :  Microsoft.SharePoint
Assembly :  Microsoft.SharePoint (dans Microsoft.SharePoint.dll)

public void Update(
	bool updateChildren
)

Paramètres

updateChildren
Type : System.Boolean

true pour pousser les modifications apportées au type de contenu sur les types de contenu qui en héritent ; dans le cas contraire, false.

ExceptionCondition
SPContentTypeSealedException

La propriété Sealed de ce type de contenu ou d'un enfant de ce type de contenu a la valeur true.

SPContentTypeReadOnlyException

La propriété ReadOnly de ce type de contenu ou d'un enfant de ce type de contenu a la valeur true.

Lorsque vous apportez des modifications à un type de contenu de site via le modèle objet, votre code est réellement rendre ces modifications à la représentation en mémoire du type de contenu de site. Uniquement lorsque vous appelez la méthode UpdateSharePoint Foundation rendre ces modifications permanentes, en les validant à la définition de type de contenu qui est stockée dans la base de données de site.

Pour plus d'informations, consultez Updating Content Types.

Lorsque vous apportez des modifications à un type de contenu de site, vous pouvez décider de propager ou Pousser vers le bas, les modifications apportées au type de contenu parent à son enfant du site et de liste types de contenu.

Pour plus d'informations, consultez Updating Child Content Types.

L'exemple suivant est une application console qui crée un lien de champ à l'aide d'une colonne de site existante, l'ajoute à un type de contenu de site et met ensuite à jour le type de contenu sans propager la modification à ses types de contenu enfants.

using System;
using Microsoft.SharePoint;

namespace Test
{
    class ConsoleApp
    {
        static void Main(string[] args)
        {
            using (SPSite site = new SPSite("http://localhost"))
            {
                using (SPWeb web = site.OpenWeb())
                {
                    string ctName = "Contact";   // Content type to modify
                    string fldName = "Birthday"; // Site field to link to

                    // Get the content type to modify.
                    SPContentType ct = web.ContentTypes[ctName]; // Null if not found
                    if (ct == null)
                        Console.WriteLine("{0} is not a site content type.", ctName);

                    // Get the field to link to.
                    SPField fld = null;
                    try
                    {
                        fld = web.Fields.GetField(fldName); // Throws exception if not found
                    }
                    catch (ArgumentException ex)
                    {
                        Console.WriteLine("{0} is not a site column.");
                    }

                    // Add a field link to the content type.
                    if (null != fld  && null != ct)
                    {
                        SPFieldLink lnk = new SPFieldLink(fld);
                        if (null == ct.FieldLinks[lnk.Id]) // Does it exist in collection?
                        {
                            //No, so add it.
                            ct.FieldLinks.Add(lnk);

                            // Update the content type
                            try
                            {
                                ct.Update(false); // Do not push down
                                Console.WriteLine("A link to {0} has been added to content type {1}.", fldName, ctName);
                            }
                            catch (SPException ex)
                            {
                                Console.Write("Update failed. ");
                                Console.WriteLine(ex.Message);
                            }
                        }
                        else // We have a duplicate link.
                        {
                            Console.WriteLine("Content type {0} already has a link to {1}.", ctName, fldName);
                        }
                    }
                }
            }
            Console.Write("\nPress ENTER to continue...");
            Console.ReadLine();
        }
    }
}
Afficher: