Метод NavigationTermSetItem.GetAsEditable
Возвращает редактируемая версия этого объекта NavigationTerm или NavigationTermSet .
Пространство имен: Microsoft.SharePoint.Publishing.Navigation
Сборка: Microsoft.SharePoint.Publishing (в Microsoft.SharePoint.Publishing.dll)
Синтаксис
'Декларация
Public Function GetAsEditable ( _
taxonomySession As TaxonomySession _
) As NavigationTermSetItem
'Применение
Dim instance As NavigationTermSetItem
Dim taxonomySession As TaxonomySession
Dim returnValue As NavigationTermSetItem
returnValue = instance.GetAsEditable(taxonomySession)
public NavigationTermSetItem GetAsEditable(
TaxonomySession taxonomySession
)
Параметры
taxonomySession
Тип: Microsoft.SharePoint.Taxonomy.TaxonomySessionTaxonomySession объект, для которого требуется получить объект Term или TermSet , как доступные для редактирования.
Возвращаемое значение
Тип: Microsoft.SharePoint.Publishing.Navigation.NavigationTermSetItem
Редактируемая версия объекта NavigationTerm или редактируемую копию объекта NavigationTermSet
Замечания
NavigationTerm и NavigationTermSet объекты имеют два режима, отражающие наиболее общим принципам использования. В режиме «редактировать» объект действует как оболочка для базового аналогичного объекта в пространстве имен N:Microsoft.SharePoint.Taxonomy и свободно изменения объекта. В режиме «только чтение» объект использует ограниченный упрощенных представление, которое не ссылаться на объекты из объекта TaxonomySession . Режим «только чтение» позволяет эффективного хранения в кэше таксономии навигация и поддерживает некоторые оптимизации обхода для улучшения производительности при использовании этих оптимизаций с объектом TaxonomySiteMapProvider . Режим «только чтение» задается свойством IsReadOnly .
Метод GetAsEditable(TaxonomySession) используется, когда свойство IsReadOnly() равно true. Возвращает доступную для редактирования версию этого объекта NavigationTerm или объект NavigationTermSet , который действует как оболочка для базового объекта Term или TermSet из объекта TaxonomySession , который предоставляется.
Использование GetAsEditable при IsReadOnly=true.
Примеры
В этом примере показано, как использовать метод GetAsEditable , чтобы добавить новую ссылку на объект NavigationTermSet , который был извлечен из кэша.
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);
}
См. также
Справочные материалы
Элементы NavigationTermSetItem
Пространство имен Microsoft.SharePoint.Publishing.Navigation