Как удалить кеш SPNavigationNodes в Sharepoint 2007?

У меня есть сайт в Sharepoint.

Как вы знаете, в настройках пользователи могут упорядочивать сайты и страницы по своему усмотрению, а затем вы можете получить эти элементы в этом порядке с помощью:

SPWeb web = CurrentSite.OpenWeb(currentSite);
 SPNavigation nav = web.Navigation;
 SPNavigationNodeCollection nodeColl = nav.QuickLaunch;

Проблема, с которой я столкнулся, заключается в том, что для этого есть кеш, и каждый раз, когда пользователь добавляет веб-страницу, список, который я получаю с помощью web.Navigation.QuickLaunch, тот же, что и раньше.

Единственный способ удалить кеш - войти в исследование и изменить порядок элементов, а затем восстановить его и принять форму.

Может кто-нибудь подскажет, могу ли я сделать это по-другому?


person netadictos    schedule 17.03.2009    source источник


Ответы (1)


Я не уверен на 100%, но пытаюсь получить новую копию объекта SPWeb вместо того, чтобы использовать копию из текущего контекста:

using ( SPSite l_site = new SPSite(SPContext.Current.Site.Url); )
{
  using ( SPWeb l_web = l_site.OpenWeb() )
  {
    ..
  }
}
person Jason    schedule 17.03.2009