Compartilhar via


NavigationTermSetItem.GetAsEditable método

Retorna uma versão editável deste objeto NavigationTerm ou NavigationTermSet .

Namespace:  Microsoft.SharePoint.Publishing.Navigation
Assembly:  Microsoft.SharePoint.Publishing (em Microsoft.SharePoint.Publishing.dll)

Sintaxe

'Declaração
Public Function GetAsEditable ( _
    taxonomySession As TaxonomySession _
) As NavigationTermSetItem
'Uso
Dim instance As NavigationTermSetItem
Dim taxonomySession As TaxonomySession
Dim returnValue As NavigationTermSetItem

returnValue = instance.GetAsEditable(taxonomySession)
public NavigationTermSetItem GetAsEditable(
    TaxonomySession taxonomySession
)

Parâmetros

Valor retornado

Tipo: Microsoft.SharePoint.Publishing.Navigation.NavigationTermSetItem
Uma versão editável do objeto NavigationTerm ou uma versão editável do objeto NavigationTermSet

Comentários

Os objetos NavigationTerm e NavigationTermSet têm dois modos que refletem os padrões mais comuns de uso. No modo de "editável", o objeto atua como um wrapper para o objeto subjacente análogo no namespace N:Microsoft.SharePoint.Taxonomy e o objeto pode ser modificado livremente. No modo "somente leitura", o objeto usa uma representação de leve limitada que não faz referência a objetos de um objeto TaxonomySession . O modo "somente leitura" permite um armazenamento eficiente no cache de navegação de taxonomia e oferece suporte a algumas otimizações de passagem que melhoram o desempenho quando essas otimizações são usadas com o objeto TaxonomySiteMapProvider . O modo "somente leitura" é definido pela propriedade IsReadOnly .

O método GetAsEditable(TaxonomySession) é usado quando a propriedade IsReadOnly() é igual a true. Ele retorna uma versão editável deste NavigationTerm objeto ou NavigationTermSet , que atua como um wrapper para o objeto subjacente de Term ou TermSet do objeto de TaxonomySession que é fornecido.

Use o GetAsEditable ao IsReadOnly=true.

Exemplos

Este exemplo mostra como usar o método GetAsEditable para adicionar um novo link para um objeto de NavigationTermSet que foi recuperado do cache.

static void CreateSimpleLink(SPWeb web)
            {
                // Retrieve the active NavigationTermSet object from the taxonomy navigation cache.
                NavigationTermSet readOnlyTermSet = TaxonomyNavigation.GetTermSetForWeb(web,
                    "GlobalNavigationTaxonomyProvider", includeInheritedSettings: false);
            
                // This operation would fail because readOnlyTermSet.IsReadOnly=true:
                //readOnlyTermSet.CreateTerm("Search The Web", NavigationLinkType.SimpleLink);
            
                // Get an editable version of the object.
                TaxonomySession taxonomySession = new TaxonomySession(web, updateCache: true);
                NavigationTermSet editableTermSet = readOnlyTermSet.GetAsEditable(taxonomySession);
            
                // Configure the Taxonomy working language.
                TermStore termStore = editableTermSet.GetTaxonomyTermStore();
                termStore.WorkingLanguage = TaxonomyNavigation.GetNavigationLcidForWeb(web);
            
                // Create the link by using the editable version of the object.
                NavigationTerm editableTerm = editableTermSet.CreateTerm("Search The Web", NavigationLinkType.SimpleLink);
                editableTerm.TargetUrl.Value = "https://www.bing.com/";
            
                // Commit the changes to the taxonomy service.
                termStore.CommitAll();
                
                // Cause the cache to be updated immediately.  Without this, it may 
                // take 5-10 seconds before this change is reflected in subsequent
                // calls to GetTermSetForWeb().
                TaxonomyNavigation.FlushTermSetFromCache(web, editableTermSet);
            }

Ver também

Referência

NavigationTermSetItem classe

NavigationTermSetItem membros

Microsoft.SharePoint.Publishing.Navigation namespace

Microsoft.SharePoint.Taxonomy.Term

Microsoft.SharePoint.Taxonomy.TermSet